Re: [RFC PATCH 2/4] x86, mwaitt: introduce mwaitx idle with a configurable timer
From: Huang Rui
Date: Thu May 21 2015 - 11:16:42 EST
On Thu, May 21, 2015 at 04:15:54AM +0800, Borislav Petkov wrote:
> On Wed, May 20, 2015 at 09:12:15PM +0200, Thomas Gleixner wrote:
> > Which would be good enough for mdelay/udelay I think, but we'd need to
> > measure the time spend in MWAITT so we wont return early.
> >
> > Something like this:
>
> Yeah, with a check maybe:
>
> > delay = usec_to_tsc(delay_usec);
>
> if (delay > ((1 << 32) - 1)) {
> mdelay(delay_usec);
> return;
> }
>
> > end = rdtsc() + delay;
> > while (1) {
>
> I guess
> monitorx( ...);
>
> first.
>
> > MWAITT(delay);
> > now = rdtsc();
> > if (end <= now)
> > break;
> > delay = end - now;
> > }
> >
> > Now we'd need to add alternatives or some other mechanism to it to
> > make this conditionally for those machines.
>
> alternative_call(mdelay, mdelayx, X86_FEATURE_MWAITT, /* no output */, timeout);
>
> Something like that maybe.
>
> > Not sure if it's worth the trouble.
>
> Could be a use case for MWAITX in the kernel!
>
Looks like good use case. Boris, could we try to implement it?
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/