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-changelog] [xen-unstable] passthough: MSI-INTx translation document

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] passthough: MSI-INTx translation documentation
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 16 Jan 2009 02:50:16 -0800
Delivery-date: Fri, 16 Jan 2009 02:50:37 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1231414031 0
# Node ID 97f8d6453fdae1a865a3c875d7b712a494304fb0
# Parent  3a92e1a446d9cfe7524f75d959b21ca7eb042ef6
passthough: MSI-INTx translation documentation

Signed-off-by: Qing He <qing.he@xxxxxxxxx>
 docs/misc/vtd.txt            |   29 +++++++++++++++++++++++++++++
 tools/examples/xmexample.hvm |   33 +++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff -r 3a92e1a446d9 -r 97f8d6453fda docs/misc/vtd.txt
--- a/docs/misc/vtd.txt Thu Jan 08 11:26:58 2009 +0000
+++ b/docs/misc/vtd.txt Thu Jan 08 11:27:11 2009 +0000
@@ -38,6 +38,30 @@ Add "msi=1" option in kernel line of hos
 Add "msi=1" option in kernel line of host grub.
+MSI-INTx translation for passthrough devices in HVM
+If the assigned device uses a physical IRQ that is shared by more than
+one device among multiple domains, there may be significant impact on
+device performance. Unfortunately, this is quite a common case if the
+IO-APIC (INTx) IRQ is used. MSI can avoid this issue, but was only
+available if the guest enables it.
+With MSI-INTx translation turned on, Xen enables device MSI if it's
+available, regardless of whether the guest uses INTx or MSI. If the
+guest uses INTx IRQ, Xen will inject a translated INTx IRQ to guest's
+virtual ioapic whenever an MSI message is received. This reduces the
+interrupt sharing of the system. If the guest OS enables MSI or MSI-X,
+the translation is automatically turned off.
+To enable or disable MSI-INTx translation globally, add "pci_msitranslate"
+in the config file:
+       pci_msitranslate = 1         (default is 1)
+To override for a specific device:
+       pci = [ '01:00.0,msitranslate=0', '03:00.0' ]
 Caveat on Conventional PCI Device Passthrough
@@ -79,6 +103,11 @@ 2 virtual PCI slots (6~7) are reserved i
  3. Attach a PCI device to the guest by the physical BDF and desired virtual 
slot(optional). Following command would insert the physical device into guest's 
virtual slot 7
        [root@vt-vtd ~]# xm pci-attach HVMDomainVtd 0:2:0.0 7
+    To specify options for the device, use -o or --options=. Following command 
would disable MSI-INTx translation for the device
+       [root@vt-vtd ~]# xm pci-attach -o msitranslate=0 0:2:0.0 7
 VTd hotplug usage model:
diff -r 3a92e1a446d9 -r 97f8d6453fda tools/examples/xmexample.hvm
--- a/tools/examples/xmexample.hvm      Thu Jan 08 11:26:58 2009 +0000
+++ b/tools/examples/xmexample.hvm      Thu Jan 08 11:27:11 2009 +0000
@@ -288,6 +288,39 @@ serial='pty'
 #  'x' -> we don't care (do not check)
 #  's' -> the bit must be the same as on the host that started this VM
+#   Configure passthrough PCI{,-X,e} devices:
+#   pci=[ '[SSSS:]BB:DD.F[,option1[,option2[...]]]', ... ]
+#   [SSSS]:BB:DD.F  "bus segment:bus:device.function"(1) of the device to
+#                   be assigned, bus segment is optional. All fields are
+#                   in hexadecimal and no field should be longer than that
+#                   as shown in the pattern. Successful assignment may need
+#                   certain hardware support and additional configurations
+#                   (e.g. VT-d, see docs/misc/vtd.txt for more details).
+#       (1) bus segment is sometimes also referred to as the PCI "domain",
+#           not to be confused with Xen domain.
+#   optionN         per-device options in "key=val" format. Current
+#                   available options are:
+#                   - msitranslate=0|1
+#                      per-device overriden of pci_msitranslate, see below
+#pci=[ '07:00.0', '07:00.1' ]
+#   MSI-INTx translation for MSI capable devices:
+#   If it's set, Xen will enable MSI for the device that supports it even
+# if the guest don't use MSI. In the case, an IO-APIC type interrupt will
+# be injected to the guest every time a corresponding MSI message is
+# received.
+#   If the guest enables MSI or MSI-X, the translation is automatically
+# turned off.
 #   Configure PVSCSI devices:

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] passthough: MSI-INTx translation documentation, Xen patchbot-unstable <=