|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [PATCH 0/6] Add full evtchn mechanism for xen/ia64
Hi, all,
This patch sets will port full event channel mechanism to
xen/ia64,
based on which all physical irqs/virtual irqs/ipis are now bound to a
specific event port. From now on, a typical /proc/interrupts of dom0
will
look like:
CPU0
34: 12 Phys-irq ide0
39: 0 Phys-irq acpi
45: 322 Phys-irq serial
48: 115006 Phys-irq peth0
49: 16269 Phys-irq ioc0
50: 31 Phys-irq ioc1
51: 2 Phys-irq ehci_hcd:usb1
52: 0 Phys-irq uhci_hcd:usb2
53: 55 Phys-irq uhci_hcd:usb3
256: 0 Dynamic-irq RESCHED0
257: 0 Dynamic-irq IPI0
258: 44572 Dynamic-irq timer0
259: 2316 Dynamic-irq xenbus
260: 8304 Dynamic-irq blkif-backend
261: 25947 Dynamic-irq vif3.0
ERR: 0
Then for SMP domU:
CPU0 CPU1
256: 1417 0 Dynamic-irq RESCHED0
257: 40 0 Dynamic-irq IPI0
258: 4937 0 Dynamic-irq timer0
259: 0 1691 Dynamic-irq RESCHED1
260: 0 165 Dynamic-irq IPI1
261: 0 4953 Dynamic-irq timer1
262: 220 0 Dynamic-irq xenbus
263: 189 0 Dynamic-irq xencons
264: 3493 0 Dynamic-irq blkif
265: 128 0 Dynamic-irq eth0
This patch set is tested upon current tip (Rev10021 "[IA64]
pte_xchg
added"), including:
Non-vp + UP domU + domVTI
Non-vp + SMP domU + domVTI
VP + UP domU + domVTI
VP + SMP domU + domVTI
I also tested network performance by wget with several combos:
(The result is the average of three tests)
TIP With patches
Dom0 before 'xend start' 11.21Mb 11.21Mb
Dom0 after 'xend start' 11.21Mb 11.21Mb
Single domU 5.49Mb 5.63Mb
Single dom0 (domU is up) 11.21Mb 11.21Mb
Both domU + dom0 9.62Mb/1.28Mb 9.63Mb/1.45Mb
Based on above result, dom0's net performance is not affected,
while domU's is seen with several percents increase. Actually even
dom0 should be better because I observed the ITC cycle for single
eth0 irq handling decreased by 35%. But because previously dom0's
wget is already equal to native, so we don't observe difference on the
result.
That means this patch can even help performance a bit at the
same
time when it mainly targets to add new feature to support driver
domain. :-)
Following is the patch set briefs:
[PATCH 1/6] 0_pull_header_files.patch
[PATCH 2/6] 1_add_callback_ops.patch
[PATCH 3/6] 2_add_evt_handle_path.patch
[PATCH 4/6] 3_clean_pirq_bind_logic.patch
Above 4 patches only serve as prep steps with added logics functionally
disabled because no place uses them.
(I've also tested with tip to find nothing broken with them.)
[PATCH 5/6] evtchn_common.patch
This patch modifies common code and I've sent to xen-devel which has
been checked into xen-unstable.hg now. So Alex, could you do a favor
to make a sync with xen-unstable.hg first? :-)
[PATCH 6/6] 4_final_evtchn_support.patch
This patch is the very one to move xen/ia64 to full evtchn mechanism,
and once after applying it, you could observe above example output.
Cheers,
Kevin
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [PATCH 0/6] Add full evtchn mechanism for xen/ia64,
Tian, Kevin <=
|
|
|
|
|