ULE steal_idle questions

Jan Bramkamp crest at rlwinm.de
Wed Aug 30 12:24:46 UTC 2017


On 26.08.17 21:58, Don Lewis wrote:
> On 26 Aug, To: kostikbel at gmail.com wrote:
>> On 26 Aug, Konstantin Belousov wrote:
>>> 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.
>> I can believe that.  I keep an excessive number of tabs open in firefox
>> and it would frequenty get into a state where it would consume 100% of a
>> CPU core.  Very recent versions of firefox are a lot better.
>>
>> Xorg is another possible victim.  I've just noticed that when certain
>> windows have mouse focus (firefox being one, wish-based apps are
>> another) that the Xorg %CPU goes to 80%-90%.  I think this crept in with
>> the lastest MATE upgrade.  If Xorg is treated as non-interactive, then
>> the desktop experience is going to be less than optimal if there is
>> competing load.
> I've got poudriere running right now on my primary package build box.
> The priorties of the compiler processes are currently in the range of
> 74-96.
>
> On my desktop, firefox is running at priority 24.  Xorg when it is not
> being a CPU hog gets all the way down to priority 20.  When the mouse is
> pointing to one of the windows that makes it go nuts, then it gets all
> the way up to priority 98.
On my old desktop (AMD Phenom II X6 1060T) which doubled as poudriere 
compile server I wrapped Xorg and moused with cpuset and rtprio. It 
solved my problem, but felt wrong.


More information about the freebsd-arch mailing list