lkml.org 
[lkml]   [2018]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v3] cpuidle: poll_state: Add time limit to poll_idle()
    From
    Date
    On Sun, 2018-03-25 at 23:34 +0200, Rafael J. Wysocki wrote:
    > On Sunday, March 25, 2018 10:15:52 PM CEST Rik van Riel wrote:
    > >
    > > I plan to try two more things:
    > >
    > > 1) Disable polling on SMT systems, with
    > > the idea that putting one thread to
    > > sleep with monitor/mwait in C1 will
    > > allow the other thread to run faster.
    >
    > Sounds plausible.

    Plausible, but wrong. Tests showed that CPU use
    during the peak load of this test increased from
    about 71% to about 78% with this change, or just
    under 10% increase relative to the baseline.

    Coincidentally, that is the same CPU use increase
    I have seen with the poll_idle() changes. Not sure
    if that means anything...

    > > 2) Insert more cpu_relax() calls into the
    > > main loop, so the CPU core spends more
    > > of its time in cpu_relax() and less
    > > time doing other things:
    >
    > Well, maybe it's a matter of doing cpu_relax() between any other bits
    > of
    > significant computation in there:

    I tried that, as well, and some other variations.

    Every single change to poll_idle() that I tried
    seems to result in a 9-10% relative increase in
    CPU use during the peak load of the test.

    During the busiest parts of the load, every CPU
    sees on the order of 20k context switches a second.

    kind regards,

    Rik
    --
    All Rights Reversed.[unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2018-03-26 18:33    [W:4.332 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site