|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] [PATCH 2/4] CPUIDLE: Avoid remnant LAPIC timerintr while
On Thursday, September 11, 2008 7:07 PM, Keir Fraser wrote:
> On 11/9/08 11:59, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:
>
>>> Also, in your patch, you unmask LVTT after reprogramming the
>>> LAPIC counter.
>>> Isn't there a race where the LAPIC timer generates an
>>> interrupt event before
>>> you unmask the LVTT and hence you lose the interrupt (since I
>>> assume the
>>> LAPIC interrupt is basically an internal one-shot signal which
>>> does not get
>>> latched in any way)? So you'd probably need to reprogram_timer(0), then
>>> enable the timer, then reprogram_timer(<actual value>).
>>>
>>
>> You're correct. It will be fixed.
>
> Thanks. I'm not sure whether the reprogram_timer(0) before re-enabling is
> really required. It looks like Linux doesn't do similar (although if course
> it does re-programming after re-enabling to avoid the above race).
>
> I suppose repogram_timer(0) is cheap so you might choose to do it anyway.
> It's up to you...
Do reprogram_timer(0) anyway make things well controlled. So let's do it this
way. Attached is the additional patch.
Jimmy
disable_apic_timer_in_c3_0911.patch
Description: disable_apic_timer_in_c3_0911.patch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|