Messages in this thread | | | Date | Thu, 14 May 2015 18:17:28 +0800 | From | Huang Rui <> | Subject | Re: Mwait usage on AMD processors |
| |
On Thu, May 14, 2015 at 11:21:37AM +0200, Borislav Petkov wrote: > On Thu, May 14, 2015 at 02:54:52PM +0800, Huang Rui wrote: > > Hi Len, Rafael, and all, > > > > AMD proposed a new instruction named mwaitx. This is an extension of > > mwait with a configurable timer (mwaitx = mwait + timer). And mwaitx > > will act as mwait if timer is disabled. However, mwait/mwaitx cannot > > let cpu core go to C1 state at current AMD processors, but has less > > power consumption even at C0 while core is waiting. > > As you know, mwait/mwaitx would have better performance than halt. So > > could we propose an implementation to use mwaitx at idle call in boot > > phase and cpuidle driver after boot phase. > > I'd select it in select_idle_routine()... >
I know, actually, I already completed it in my local side, and mwaitx_idle will be called with x86_idle at boot phase. :)
I plan to continue to implement it with cpuidle driver if mwaitx_idle can be accepted.
> > And the mwaitx idle is exposed to user as an optional kernel > > parameter(idle=...), and decided by user. > > If MWAITX is better than C1 (and C1E, which we're doing now AFAIR) > then I'd enable it by default on those machines so that it is used > automatically. >
At current processors, MWAITX cannot go to C1 state, but has faster waiting exit speed. MWAITX is still at C0 but less power consumption. So for now, I just want to set it optionally. HW designer will do deeper low power state (C1, and more) in future processors. At that time, we can enable it by default.
Thanks, Rui
| |