Messages in this thread | | | Date | Thu, 19 Dec 2013 21:16:34 +0100 | From | Peter Zijlstra <> | Subject | Re: [tip:x86/idle] x86, acpi, idle: Restructure the mwait idle routines |
| |
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 *)¤t_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.
| |