[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Interrupt injection with ISR set on Intel hardware



>>> On 29.10.18 at 17:44, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 29/10/18 16:33, Jan Beulich wrote:
>>>>> On 15.10.18 at 12:30, <roger.pau@xxxxxxxxxx> 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. (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.)

Jan



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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.