This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: Interrupt to CPU routing in HVM domains - again

To: James Harper <james.harper@xxxxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Re: Interrupt to CPU routing in HVM domains - again
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Fri, 05 Sep 2008 11:32:38 +0100
Cc: bart brooks <bart_brooks@xxxxxxxxxxx>
Delivery-date: Fri, 05 Sep 2008 03:33:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AEC6C66638C05B468B556EA548C1A77D0149057A@trantor>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AckOoZqF5z/EFE0zSRqumZCNR0aIYwAUMvRgAA4u/S8ABQnXgAAA2389
Thread-topic: Interrupt to CPU routing in HVM domains - again
User-agent: Microsoft-Entourage/
On 5/9/08 11:13, "James Harper" <james.harper@xxxxxxxxxxxxxxxx> wrote:

>> The only thing I can think of (and should certainly be checked!) is that
>> some of your event channels are erroneously getting bound to vcpu != 0.
>> Are
>> you running an irq load balancer or somesuch? Obviously event channels
>> bound
>> to vcpu != 0 will now never be serviced, whereas before your changes you
>> would probabilistically 'get lucky'.
> In allocating event channels, I'm doing EVTCHNOP_alloc_unbound and then
> passing the returned event channel number to Dom0 via xenbus. Is there
> anything else I need to do? Do I need a specific hypercall to bind the
> event channel to cpu 0 only? I'll check the 'unmodified drivers'
> source...

Nope, default is binding to vcpu0, except for some VIRQs and IPIs. This even
gets reset for you across a particular port being freed and re-allocated.

> The thing is, my performance testing has shown good results for SMP
> (vcpus=4) and UP, but Bart has reported that he only gets good
> performance when he checks the vcpu_info for the cpu that the interrupt
> has been triggered on.

Well, that doesn't make much sense. He should still check port bindings (a
program 'lsevtchn' shoudl get installed in dom0 for this purpose -- source
is tools/xcutils/lsevtchn.c) just in case. I think lsevtchn will need
extending to print the bound vcpu (it does get returned by the hypercall).
I'll check in a patch to xen-unstable for that, but it's easy to lash up

 -- Keir

Xen-devel mailing list