ULE steal_idle questions
Konstantin Belousov
kostikbel at gmail.com
Sat Aug 26 18:46:55 UTC 2017
On Sat, Aug 26, 2017 at 11:29:29AM -0700, Don Lewis wrote:
> I actually haven't noticed that problem on my package build boxes. I've
> experienced decent interactive performance even when the load average is
> in the 60 to 80 range. I also have poudriere configured to use tmpfs
> and the only issue I run into is when it starts getting heavily into
> swap (like 20G) and I leave my session idle for a while, which lets my
> shell and sshd get swapped out. Then it takes them a while to wake up
> again. Once they are paged in, then things feel snappy again. This is
> remote access, so I can't comment on what X11 feels like.
I believe what people complain about is the following scenario:
they have some interactive long living process, say firefox or mplayer.
The process' threads consume CPU cycles, so the ULE interactivity
detection logic actually classifies the threads as non-interactive.
This is not much problematic until a parallel build starts where
toolchain processes are typically short-lived. This makes them
classified as interactive, and their dynamic priority are lower than the
priority of long-lived threads which are interactive by user perception.
I did not analyzed the KTR dumps but this explanation more or less
coincides with the system slugginess when attempt to use mplayer while
heavily oversubscribed build (e.g. make -j 10 on 4 cores x 2 SMT
machine) is started.
More information about the freebsd-arch
mailing list