|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time
On 22/04/2010 04:59, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote:
>>> Okay, one concern I still have is over possible races around
>>> cpuidle_wakeup_mwait(). It makes use of a cpumask
>>> cpuidle_mwait_flags, avoiding an IPI to cpus in the mask. However,
>>> there is nothing to stop the CPU having cleared itself from that
>>> cpumask before cpuidle does the write to softirq_pending. In that
>>> case, even assuming the CPU is now non-idle and so wakeup is
>>> spurious, a subsequent attempt to raise_softirq(TIMER_SOFTIRQ) will
>>> incorrectly not IPI because the flag is already set in
>>> softirq_pending?
>
> If a CPU cleared itself from cpuidle_mwait_flags, then this CPU didn't need a
> IPI to be waken. And one useless write to softirq_pending doesn't have any
> side effect. So this case should be acceptable.
That's not totally convincing. The write to softirq_pending has one extra
side effect: it is possible that the next time TIMER_SOFTIRQ really needs to
be raised on that CPU, it will not receive notification via IPI, because the
flag is already set in its softirq_pending mask.
Hm, let me see if I can come up with a patch for this and post it for you.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, (continued)
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- [Xen-devel] RE: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] RE: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- [Xen-devel] RE: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- [Xen-devel] RE: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time,
Keir Fraser <=
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Keir Fraser
- [Xen-devel] RE: [PATCH] CPUIDLE: shorten hpet spin_lock holding time, Wei, Gang
|
|
|
|
|