On 29/10/18 16:58, Jan Beulich wrote:
>>>> On 29.10.18 at 17:44, <andrew.coop...@citrix.com> wrote:
>> On 29/10/18 16:33, Jan Beulich wrote:
>>>>>> On 15.10.18 at 12:30, <roger....@citrix.com> wrote:
>>>> (XEN)   [22641] PUSH     {sp  0, irq  30, vec 0x21}
>>> This is the last push or pop.
>>>
>>>> (XEN)   [22650] WAKE     PPR 0x00000020
>>>> (XEN)                    IRR 
>> 0000000002000000000000000000000000000000000000000000000000000000
>>>> (XEN)                    ISR 
>> 0000000002000000000000000000000000000000000000000000000000000000
>>> For one I'm having trouble understanding why IRR here is different
>>> from ...
>>>
>>>> (XEN) All LAPIC state:
>>>> (XEN)   [vector]      ISR      TMR      IRR
>>>> (XEN)   [1f:00]  00000000 00000000 00000000
>>>> (XEN)   [3f:20]  00000002 00000000 00000000
>>>> (XEN)   [5f:40]  00000000 00000000 00000000
>>>> (XEN)   [7f:60]  00000000 00000000 00000000
>>>> (XEN)   [9f:80]  00000000 00000000 00000000
>>>> (XEN)   [bf:a0]  00000000 00000000 00000000
>>>> (XEN)   [df:c0]  00000000 00000000 00000000
>>>> (XEN)   [ff:e0]  00000000 00000000 04000000
>>> ... IRR here.
>> You shouldn't expect them to be the same.
>>
>> The WAKE line is sampled before we enable interrupts, and the "All LAPIC
>> state" is after we enable interrupts and (erroneously) accept vector
>> 0x21 a second time.
> Oh, right - I had overlooked that the debugging patch was actually
> attached to Roger's mail.
>
>> In the meantime, a TLB flush has become pending, but interrupts are
>> currently disabled so it has yet to be accepted.  Remember that bits
>> accumulate in IRR entirely asynchronously.
> Well, bits newly set are of course to be expected at any time. My
> issue was just with bit 0x21 having got cleared.

What is unexpected about that?

Accepting a vector clears it out of IRR and sets it in ISR.  A second
interrupt can then be queued in IRR while the first is being serviced.

>  (FTR I think it's an
> LAPIC timer interrupt which has become pending, not a TLB flush
> IPI, but I don't think the difference matters here at all.)

Hmm possibly.  I thought I traced it once before, but the vector layout
here is slightly dynamic based on boot conditions.  I agree that the
difference is immaterial.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to