xen-ia64-devel
RE: [Xen-ia64-devel] Event channel vs current scheme speed [wasvIOSAPIC
To: |
"Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx> |
Subject: |
RE: [Xen-ia64-devel] Event channel vs current scheme speed [wasvIOSAPIC and IRQs delivery] |
From: |
"Dong, Eddie" <eddie.dong@xxxxxxxxx> |
Date: |
Mon, 13 Mar 2006 21:23:10 +0800 |
Delivery-date: |
Mon, 13 Mar 2006 13:25:02 +0000 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
List-help: |
<mailto:xen-ia64-devel-request@lists.xensource.com?subject=help> |
List-id: |
Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com> |
List-post: |
<mailto:xen-ia64-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe> |
Sender: |
xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx |
Thread-index: |
AcZGgK+4Qdgrc4fiTbiU+E+xA1OHdQAHrgKA |
Thread-topic: |
[Xen-ia64-devel] Event channel vs current scheme speed [wasvIOSAPIC and IRQs delivery] |
Tristan Gingold wrote:
> Le Jeudi 09 Mars 2006 21:02, Tian, Kevin a écrit :
>> Anyway, good discussion by far though still some way to go for
>> consensus. :-)
>>
>> Maybe we want to look at this from another way - fairness. [...]
>> Regarding current model, there seems to be an issue about fairness
>> between physical interrupts and "xen events". Taking current 0xE9 for
>> example, it's lower than timer but higher than all external device
>> interrupts. This means "xen events" will always preempt device
>> interrupts in this case, which is unfair and not what we want.
> To my understanding, this is also true for x86.
> With event channel, real physical IRQs use events 0-255, while Xen
> events use events 256-511.
>
> So what is the difference ?
The difference is that with event channel, IRQ (PIRQ from 0-255 and VIRQ from
256-511)
vector itself doesn't participate in prioritization, but event channel. There
is a map between
event channel and IRQ in evtchn.c.
With event channel solution, all the guest physical IRQ is injected/reflected
through event
channel instead of vLSAPIC. Event channel is a must as VBD/VNIF and Control
Panel is using it except you rewrite all of them, I think you will not think in
that way.If callback
itself is built on a pseudo IRQ (0xE9) in vLSAPIC, then all event channel has
priority 0xE9
in VLSAPIC. That has problem as some event channel need higher priority but
some
lower comparing with other guest device IRQ.
So the solution is to eliminate VLSAPIC and all guest PIRQ go with event
channel. In the
meantime, callback must go with a so called "upcall" function (callback
function).
Hope this answer your question.
>
> Tristan.
Eddie
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|