Re: [RFC PATCH 2/4] x86, mwaitt: introduce mwaitx idle with a configurable timer

From: Huang Rui
Date: Thu May 21 2015 - 10:38:17 EST


On Wed, May 20, 2015 at 07:21:10PM +0800, Borislav Petkov wrote:
> On Wed, May 20, 2015 at 01:11:20PM +0200, Ingo Molnar wrote:
> > - MWAITX takes a 'timeout' parameter, but otherwise behaves exactly
> > like MWAIT: i.e. once idle it won't exit idle on its own
>
> Let me quote the commit message:
>
> "MWAITT, another name is MWAITX (MWAIT with extensions), has a
> configurable timer that causes MWAITX to exit on expiration."
>
> You need to set the second bit in ECX to enable the timer.
>
> I guess if you don't, then you get normal MWAIT but then you don't need
> the timeout either...

That's right.

This feature will expose on Family 15h, Model 60-6fh. Just check the
http://developer.amd.com, sorry, I don't know why APM still doesn't
update. But I can raise your question to HW guys.

>
> > - based on the 'timeout' hint, MWAITX can internally optimize how
> > deep sleep it enters. If the timeout is large it goes deep, if
> > it's small, it goes shallow.
>
> I haven't heard anything about handling the timeout this way and if it
> is not done this way, maybe Rui could forward this idea to hw people...
>

Actually, there is another use case on HSA stack. The timer is used
for synchronization between CPU and GPU. The CPU core will exit
waiting when GPU thread modifies the monitoring address or the timer
expires. :)

Thanks,
Rui
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/