RE: [PATCH] cpuidle-haltpoll: Disable kvm guest polling when mwait_idle is used

From: Li,Rongqing
Date: Wed Dec 07 2022 - 07:21:00 EST




> -----Original Message-----
> From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Sent: Wednesday, December 7, 2022 7:41 PM
> To: Li,Rongqing <lirongqing@xxxxxxxxx>; Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Cc: mingo@xxxxxxxxxx; bp@xxxxxxxxx; dave.hansen@xxxxxxxxxxxxxxx;
> x86@xxxxxxxxxx; rafael@xxxxxxxxxx; daniel.lezcano@xxxxxxxxxx;
> peterz@xxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx; tony.luck@xxxxxxxxx;
> jpoimboe@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx
> Subject: RE: [PATCH] cpuidle-haltpoll: Disable kvm guest polling when
> mwait_idle is used
>
> On Wed, Dec 07 2022 at 10:49, Rongqing Li wrote:
> >> Before change, "sockperf ping-pong -i 127.0.0.1 -p 20001 --tcp " latency is:
> >> sockperf: Summary: Latency is 6.245 usec
> >>
> >> this patch, disable cpuidle-haltpoll
> >> sockperf: Summary: Latency is 4.671 usec
> >>
> >>
> >> using arch_cpu_idle() in default_enter_idle()
> >> sockperf: Summary: Latency is 4.285 usec
> >>
> >
> > When I did upper tests, I taskset sockperf server and client to
> > different cpus, so using arch_cpu_idle() in default_enter_idle() gets
> > better result.
> >
> > I test unixbench also, find that Don't loading cpuidle-haltholl can
> > get more performance on 8 cores (2 threads per core) intel cpu which
> > cstate is disabled in host
> >
> > Don't load cpuidle-haltpoll:
> > System Benchmarks Index Score
> 1995.8
> > System Benchmarks Index Score
> 8482.8
> >
> > Replace default_idle with arch_cpu_idle, and load cpuidle-haltpoll, code like
> below:
> > System Benchmarks Index Score
> 1971.4
> > System Benchmarks Index Score
> 8467.7
> >
> > So I think we should not load cpuidle-haltpoll driver when guest has
> > mwait
>
> So in the above you got:
>
> Driver loaded not modified: 6.245
> Driver not loaded: 4.671 ~25%
> Driver loaded modified: 4.285 ~30%
>
> Now with unixbench:
>
> Driver not loaded: 8482.8
> Driver loaded modified: 8467.7 ~0.2%
>
> So because of 0.2% delta you justify to throw away a 5% win?
>
> If you really care about the 0.2%, then blacklist the module for your use case.
>

Ok, Build it as module by default

Thanks

-Li