Messages in this thread | | | Subject | Re: [PATCH v2] cpuidle: poll_state: Add time limit to poll_idle() | From | Rik van Riel <> | Date | Tue, 27 Mar 2018 14:02:44 -0400 |
| |
On Tue, 2018-03-27 at 18:42 +0200, Rafael J. Wysocki wrote: > On Thu, Mar 22, 2018 at 5:32 PM, Rik van Riel <riel@surriel.com> > wrote: > > On Wed, 2018-03-14 at 13:04 +0100, Peter Zijlstra wrote: > > > > > On x86 we don't have to use that time_check_counter thing, > > > sched_clock() > > > is really cheap, not sure if it makes sense on other platforms. > > > > Are you sure? I saw a 5-10% increase in CPU use, > > for a constant query rate to a memcache style > > workload, with v3 of this patch. > > I think I know what's going on.
I ran my tests wrong, and the script never propagated errors back to me. Sigh.
However, the poll_idle() that reads the TSC at a reduced rate seems to perform better than the one that reads the TSC every time it goes around the loop.
The size of the idle loop seems to make a slight difference, too. Having just one cpu_relax() in the entire loop seems to be better than having them all over the place.
-- All Rights Reversed.[unhandled content-type:application/pgp-signature] | |