Closed Bug 1604570 Opened 1 year ago Closed 1 year ago

Enable low priority thread pool on Linux

Categories

(Core :: Graphics: WebRender, task, P3)

Desktop
Linux
task

Tracking

()

RESOLVED INVALID

People

(Reporter: bpeers, Assigned: bpeers)

References

Details

Attachments

(1 file, 1 obsolete file)

The code was submitted; enable it by default so we can see Talos numbers for the combined result.

Assignee: nobody → bpeers
Priority: -- → P3
Pushed by bpeers@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d39132658a17
Enable low priority thread pool on Linux r=jrmuizel
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
Attachment #9117203 - Attachment is obsolete: true
Backout by aiakab@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a8197fa66cfd
Backed out changeset d39132658a17 as requested by Bert Peers for causing regressions.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla73 → ---

At least on Windows, if I look at the affinity of everything else, then I don't see anything that's also insisting on being on core 0..7. So in theory the work that's causing ~3% slowdown could migrate to other cores and shouldn't hurt perf. So I'm still not sure what happened there. (Edit: perhaps >8 cores for Talos, and affinity prevents the pool from spreading out, causing -3% due to hyperthreading?)

As for the extra 15% slowdown when actually enabling the low priority pool... If that's really Linux saying "oh you wanted SCHED_BATCH threads, no problem" and they get 15% less CPU time, then... it's working great, I guess :) One option would be to semi-cheat and disable the pool on Talos: if Talos tests are for detecting regressions in raw SVG rasterization speed, then the throughput-for-latency trade-off is irrelevant there. Another option is to put the "low priority" pool back to normal priority, and instead boost the "normal" pool to higher-than-normal. In theory, with nothing running on the higher priority pool, that should keep perf level at +- minus 3% from affinity.

(Reminder that all of this is just a temporary workaround until we have a unified scheduler and/or yieldable SVG tasks.)

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:bpeers, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(bpeers)

Invalid, no longer using low priority threads.

https://hg.mozilla.org/mozilla-central/rev/ec6587c0da30

Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Flags: needinfo?(bpeers)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.