Re: [PATCH v3] cpuidle: poll_state: Add time limit to poll_idle()
From: Rik van Riel
Date: Mon Mar 26 2018 - 17:48:41 EST
On Mon, 2018-03-26 at 23:44 +0200, Rafael J. Wysocki wrote:
> On Mon, Mar 26, 2018 at 6:32 PM, Rik van Riel <riel@xxxxxxxxxxx>
> wrote:
> > On Sun, 2018-03-25 at 23:34 +0200, Rafael J. Wysocki wrote:
> >
> > 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.
... and I did something wrong in the tests :/
> Hmm. Basically, you are saying that
>
> while (something)
> cpu_relax();
>
> is measurably less overhead than
>
> while (something) {
> cpu_relax();
> check something else;
> cpu_relax();
> }
>
> which honestly makes me wonder how this is possible at all.
Part of the mystery is solved. Apparently the
control kernel was not the one I thought it
was, or the one that was printed in the
output messages :(
I am re-running the tests now with a few
variations, and seeing what works best.
My apologies for wasting everybody's time.
I should have valid results later tonight.
Fingers crossed.
--
All Rights Reversed.Attachment:
signature.asc
Description: This is a digitally signed message part