|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel] lsapic deliver external IRQ
Dan:
I think you didn't understand what I am proposing. See my
comments.
Magenheimer, Dan (HP Labs Fort Collins) wrote:
> While Xen/ia64 is executing, interrupts are generally enabled
> (and, indeed, may even nest). If, while Xen is executing,
> an interrupt arrives that results in a pending interrupt
> for the currently active guest domain, the interrupt needs
> to be immediately delivered/injected.
Yes. No problem, that is why I suggest to do interruption injection (or
reflection in current implementation term) within vcpu_pend_interrupt.
> That's why vcpu_pend_interrupt
> is called when Xen is about to return to the active domain.
> Without this check it might be a very long time before the
> guest gets the interrupt.
No. It will be delivered at 1st time when it can be delivered. The
current approach is just polling always to no loss it but my proposal is
to want for the event of to be able to deliver.
>
>> -----Original Message-----
>> From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
>> [mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf
>> Of Dong, Eddie
>> Sent: Saturday, April 30, 2005 1:59 AM
>> To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>> Subject: [Xen-ia64-devel] lsapic deliver external IRQ
>>
>> Dan:
>> I guess you will get all our code today or tomorrow, so we may
>> go to much details.
>> In ia64_leave_kernel assembly code, the current implementation
>> is invoking deliver_pending_interrupt to check if there is any
>> pending IRQ that can be injected and inject if it can. What in my
>> mind is like followings: Within vcpu_pend_interrupt (when guest
IRQ
>> signal is fired), VMM
>> do deliver_pending_interrupt() to determine if there is any chance to
>> inject guest EX-IRQ. But It is possible that guest ex-IRQ is unable
>> to inject at that time and thus pending in vIRR due to vpsr.i or
>> vtpr. Within psr/tpr privillege resource update fault, if the guest
>> enables vpsr.i or updates TPR, VMM will call
>> deliver_pending_interrupt again to
>> re-determine if VMM needs to inject guest ex-IRQ. This is much like
>> an event driving guest EX-IRQ injecting mechanism while current
>> one is much
>> like a polling mechanism.
>> How about this? If you agree, I will provide a patch for this.
>> Eddie
>>
>> _______________________________________________
>> Xen-ia64-devel mailing list
>> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-ia64-devel
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- RE: [Xen-ia64-devel] lsapic deliver external IRQ, Magenheimer, Dan (HP Labs Fort Collins)
- RE: [Xen-ia64-devel] lsapic deliver external IRQ,
Dong, Eddie <=
- RE: [Xen-ia64-devel] lsapic deliver external IRQ, Magenheimer, Dan (HP Labs Fort Collins)
- RE: [Xen-ia64-devel] lsapic deliver external IRQ, Dong, Eddie
- RE: [Xen-ia64-devel] lsapic deliver external IRQ, Magenheimer, Dan (HP Labs Fort Collins)
- RE: [Xen-ia64-devel] lsapic deliver external IRQ, Dong, Eddie
|
|
|
|
|