Re: [tip:x86/idle] x86, acpi, idle: Restructure the mwait idleroutines

From: Peter Zijlstra
Date: Thu Dec 19 2013 - 15:16:46 EST


On Thu, Dec 19, 2013 at 12:13:29PM -0800, H. Peter Anvin wrote:
> On 12/19/2013 12:09 PM, tip-bot for Peter Zijlstra wrote:
> > diff --git a/drivers/thermal/intel_powerclamp.c b/drivers/thermal/intel_powerclamp.c
> > index 8f181b3..e8275f2 100644
> > --- a/drivers/thermal/intel_powerclamp.c
> > +++ b/drivers/thermal/intel_powerclamp.c
> > @@ -438,9 +438,7 @@ static int clamp_thread(void *arg)
> > */
> > local_touch_nmi();
> > stop_critical_timings();
> > - __monitor((void *)&current_thread_info()->flags, 0, 0);
> > - cpu_relax(); /* allow HT sibling to run */
> > - __mwait(eax, ecx);
> > + mwait_idle_with_hints(eax, ecx);
> > start_critical_timings();
> > atomic_inc(&idle_wakeup_counter);
> > }
> >
>
> Should this cpu_relax() be in the common code as well?

I don't think so; it seems weird to allow a sibling some time between
monitor and wait because the moment wait stalls the cpu the sibling gets
all the time it wants.
--
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/