Messages in this thread | | | Subject | Re: [PATCH v3] cpuidle: poll_state: Add time limit to poll_idle() | From | Rik van Riel <> | Date | Mon, 26 Mar 2018 17:48:22 -0400 |
| |
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@surriel.com> > 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.[unhandled content-type:application/pgp-signature] | |