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] [PATCH RFC] Per-CPU vector for Xen.

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH RFC] Per-CPU vector for Xen.
From: "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>
Date: Sun, 16 Aug 2009 16:58:19 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx>, "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>, "Li, Xin" <xin.li@xxxxxxxxx>
Delivery-date: Sun, 16 Aug 2009 02:01:08 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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: AcoeT7N2lTmmOpL/QJqSqmCyZrF+cQ==
Thread-topic: [PATCH RFC] Per-CPU vector for Xen.
Hi, Keir
   To support more interrupt vectors in Xen for more devices,  especially for 
SR-IOV devices in a large system, we implemented per-cpu vector for Xen like 
Linux does. For SR-IOV devices, since each VF needs several separate vectors 
for interrupt delivery and global ~200 vectors in Xen is insufficient and 
easily run out after installing two or three such devices. Becaue SR-IOV 
devices are becoming popular now,  and from this point of view, we have to 
extend vector resource space to make these devices work. As linux does, we 
implemented per-cpu vector for Xen to extend and scale vector resource to 
nr_cpus x ~200 in a system.   BTW, the core logic of the patches is ported from 
upstream linux and then adapted for Xen.  
Patch 0001:  Change nr_irqs to nr_irqs_gsi and make nr_irqs_gsi only used for 
GSI interrupts. 
Patch 0002:  Modify Xen from vector-based interrupt infrastructure to IRQ-based 
one, and the big change is that one irq number is also allocated for MSI 
interrupt source, and the idea is same as Linux's. 
Patch 0003:  Implement per-cpu vector for xen. Most core logic(such as vector 
allocation algorithm, IRQ migration logic...) is ported from upstream Linux.  
About the patch quality, we have done enough testings against upstream, and no 
any regression found after applying this patchset.  
Please help to review.  Comments are very appreicated!  Thanks!
Signed-off-by : Xiantao Zhang <xiantao.zhang@xxxxxxxxx>

Attachment: 0001-change_nr_irqs_to_nr_irqs_gsi.patch
Description: 0001-change_nr_irqs_to_nr_irqs_gsi.patch

Attachment: 0002-change_to_IRQ_based_interrupt_infrastructure.patch
Description: 0002-change_to_IRQ_based_interrupt_infrastructure.patch

Attachment: 0003-per_cpu_vector_implementation.patch
Description: 0003-per_cpu_vector_implementation.patch

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>