[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()
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,

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