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


Re: [Xen-devel] IRQ affinity: Xen view different from pvops (konrad-pcif

To: Jan Beulich <JBeulich@xxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: Re: [Xen-devel] IRQ affinity: Xen view different from pvops (konrad-pcifront) domU
From: Dante Cinco <dantecinco@xxxxxxxxx>
Date: Wed, 10 Nov 2010 12:18:27 -0800
Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 10 Nov 2010 12:19:19 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=dXTO72MYpeAeTRZf3KKC+EWcUOut3cKdrrZpIG4iWFg=; b=TKQXShkYVUxAF+TL3ObHIrQUqUIGrjThcldLf0dnzEHimPqOSLk8+s9PER/iGIOw1k e/NqvDkWb8h1mCWKeuHAakyXnOw15ghndtC2LklaL3sdMBtTbaLCQnEjTHyM1xnU/1uR Je1lHTQgXRMf6l3uHAdZgIZgEpGoDw40BujDs=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=vFUXyuPEv3JQ4W+VLub01B2Rt8fiAu+eFAv7lz3me5fGACpJnZWPcpH+ygn7mSnkvu tpgoOjEly9K7B9x7Avdl3dVH8cKvAdWWbFhaiBvc74RdVv+1VxOZE+ogTC9CXmhRk4xm msZjb6SXHlqQBr9zhuy+rartwuu7tlE+a6YCM=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4CDA622D020000780002165E@xxxxxxxxxxxxxxxxxx>
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>
References: <AANLkTimFzT6AFb14XZQ4NzBQYsJAEEGb5uJYTU3Gv-8j@xxxxxxxxxxxxxx> <4CDA622D020000780002165E@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Wed, Nov 10, 2010 at 12:13 AM, Jan Beulich <JBeulich@xxxxxxxxxx> wrote:
>>>> On 10.11.10 at 02:18, Dante Cinco <dantecinco@xxxxxxxxx> wrote:
>> I have a Fibre Channel HBA that I'm passing through to the pvops domU.
>> In domU its IRQ 127 and I've affinitized it to VCPU0 (out of 16) by
>> setting /proc/irq/127/smp_affinity to 0001 (default setting was FFFF).
>> However, when I checked the interrupt bindings in Xen, it still shows
>> IRQ 127 as being affinitized to all CPUs (all F's). I checked lspci in
>> both dom0 and domU and the address portion (00000000fee00000) of the
>> MSI address/data seem to match Xen's interrupt binding report (I
>> expected the digits to the right of 'fee' to be non-zero if it's
>> affinitized to one specific CPU).
> See -unstable c/s 21625:0695a5cdcb42.
> Jan


After seeing your response (cs 21625, x86: IRQ affinity should track
vCPU affinity), I installed the latest xen-unstable-4.1 (cs 22382) and
the result is the same --- IRQ affinity in Xen is set to all F's after
explicitly setting the IRQ smp_affinity in domU to a specific CPU. I
do have the VCPUs assigned to domU pinned to PCPUs on a one-to-one
basis (VCPU0 -> PCPU0, VCPU1 -> PCPU1, etc.).

BTW, I actually have 16 of these devices PCI-passed through to domU
which has16 VCPUs and I'm affinitizing each device to its own
dedicated CPU. Before explicitly setting the IRQ smp_affinity, all 16
devices are set to 0001. See the explicit IRQ smp_affinity setting
below. If I look in the domU's /proc/interrupts, it shows the
interrupts for a given IRQ going only to the CPU it has been
affinitized to (no interrupts going to the other CPUs) which is

My system has 24 PCPUs (dual socket X5650 Xeon/6-core Westmere) but
I'm only assigning the first 16 CPUs to domU and the VCPUs are pinned
to their respective PCPU. The part I don't understand is if the IRQ
affinity per Xen (all F's) is correct, how does the interrupt get
handled if it is directed to a PCPU that is not assigned/pinned to a
VCPU in domU?

Jeremy, to address your question, pinning the VCPUs to specific PCPUs
and affinitizing the IRQ to specific VCPUs in domU has worked very
well for us on the HVM kernel. The I/O performance is significantly
better compared with no affinitization. We're trying to transition to
the pvops domU with the expectation that our affinitization strategy
will still be applicable and maintain or even possibly improve I/O

These are the IRQ smp_affinity settings in pvops domU:
cat /proc/irq/112/smp_affinity
cat /proc/irq/113/smp_affinity
cat /proc/irq/114/smp_affinity
cat /proc/irq/115/smp_affinity
cat /proc/irq/116/smp_affinity
cat /proc/irq/117/smp_affinity
cat /proc/irq/118/smp_affinity
cat /proc/irq/119/smp_affinity
cat /proc/irq/120/smp_affinity
cat /proc/irq/121/smp_affinity
cat /proc/irq/122/smp_affinity
cat /proc/irq/123/smp_affinity
cat /proc/irq/124/smp_affinity
cat /proc/irq/125/smp_affinity
cat /proc/irq/126/smp_affinity
cat /proc/irq/127/smp_affinity

(XEN) *** Serial input -> Xen (type 'CTRL-a' three times to switch
input to DOM0)
(XEN) Guest interrupt information:
(XEN)    IRQ:  67 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:7a
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  68 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:8a
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  69 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:92
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  70 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:9a
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  71 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:a2
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  72 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:aa
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  73 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:b2
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  74 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:ba
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  75 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:c2
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  76 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:ca
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  77 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:d2
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  78 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:da
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  79 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:23
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  80 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:2b
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  81 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:33
type=PCI-MSI         status=00000010 in-flight=0
(XEN)    IRQ:  82 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:3b
type=PCI-MSI         status=00000010 in-flight=0

xm info
xen_changeset          : Tue Nov 09 20:37:46 2010 +0000 22382:a15b0a2dc276
xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1024     1     r-----     50.3
domU                                          1  2048    16     -b----    220.9
xm vcpu-list
Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
Domain-0                             0     0     0   r--      50.6 0
domU                                  1     0     0   -b-      32.2 0
domU                                  1     1     1   -b-      19.8 1
domU                                  1     2     2   -b-      19.0 2
domU                                  1     3     3   -b-      13.9 3
domU                                  1     4     4   -b-       8.4 4
domU                                  1     5     5   -b-      16.6 5
domU                                  1     6     6   -b-      26.6 6
domU                                  1     7     7   -b-       8.0 7
domU                                  1     8     8   -b-       9.6 8
domU                                  1     9     9   -b-      16.5 9
domU                                  1    10    10   -b-       9.0 10
domU                                  1    11    11   -b-       8.2 11
domU                                  1    12    12   -b-      12.4 12
domU                                  1    13    13   -b-      11.6 13
domU                                  1    14    14   -b-       4.9 14
domU                                  1    15    15   -b-       4.5 15

- Dante

Xen-devel mailing list