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