4 ms·
I don't think I've managed to piece all this together, perhaps someone can fill in the blanks. • The patch automatically creates a task group for each TTY. •
by jws 16y ago
I don't think I've managed to piece all this together, perhaps someone can fill in the blanks.
• The patch automatically creates a task group for each TTY.
• The patch automatically assigns each new process to the task group for its controlling TTY.
• In the case where there are large (>cores) numbers of cpu bound jobs, the latency of interactive jobs is vastly improved.
I think the piece I'm missing is the behavior of the scheduler. Does it now make its decisions based on task group cpu consumption instead of process? I saw options to that effect back around 2.6.25.
Why is this an improvement over just nicing the "make -j64" into the basement and letting the interactive jobs have their way as needed? (Likely possibilities are that it is automatic, or maybe there is something about disk IO scheduling happening from the task groups as well.)
- trotsky 16y agoGood questions. As far as the "why is this an improvement over just nicing" I found this link elsewhere in this thread: http://marc.info/?l=linux-kernel&m=128991621119292&w=2 http://marc.info/?l=linux-kernel&m=128991621119292&w... It includes this discussion: No, it won't. The target audience is those folks who don't _do_ the configuration they _could_ do, folks who don't use SCHED_IDLE or nice, or the power available through userspace cgroup tools.. folks who expect their box to "just work", out of the box.
- tbrownaw 16y ago> I think the piece I'm missing is the behavior of the scheduler. Does it now make its decisions based on task group cpu consumption instead of process? I saw options to that effect back around 2.6.25. Yes, and yes. Previously you could set things like this up explicitly, this makes it (optionally) automatic. > Why is this an improvement over just nicing the "make -j64" into the basement That gives you... I think 10% less CPU weight per level, so you can get down to 13% of base. So your 64 processes will still weigh about 8x one base process. This lets you consider everything spawned from your terminal as one group, and everything from your X session as another, so your compile processes collectively (no matter how many you have) weigh as much as your GUI processes collectively weigh.
- nitrogen 16y agoSo does "tty" or "terminal" in this context also refer to pseudoterminals, so that each xterm/konsole/gnome-terminal instance gets its own scheduling group as well?
- tbrownaw 16y agoI would be very surprised if it didn't, this should be the same as what shows under the "TTY" column from "ps -f".