WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [patch v2] xm: Fix hot-unplug of statically-assigned dev

To: Simon Horman <horms@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [patch v2] xm: Fix hot-unplug of statically-assigned devices
From: "Zhai, Edwin" <edwin.zhai@xxxxxxxxx>
Date: Thu, 23 Apr 2009 17:13:30 +0800
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Han, Weidong" <weidong.han@xxxxxxxxx>, Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx>, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
Delivery-date: Thu, 23 Apr 2009 02:14:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090423014252.GA19748@xxxxxxxxxxxx>
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: <20090422173051.GA25800@xxxxxxxxxxxx> <20090423014252.GA19748@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.17 (X11/20080914)
Simon,
Thanks for your fix.
How about switching to another xenstore entry for qemu => xend communication? That is, change store entry in both sync_pcidev_info and xenstore_write_vslots(qemu).
Does it work when specifying vslot in config file?

Thanks,
edwin


Simon Horman wrote:
Prior to changset 19510:5c69f98c348e - 'xm, xend: Replace "vslt" with "vslot"',
both vslt and vslot were used in the xm code, often fairly arbitrarily.

However, in the dictionary that describes a pci function both vslt and vslot
were present. vslt stored the slot assigned to the function. And
vslot stored the slot the user requested for the function, or AUTO_PHP_SLOT
if no slot was requested.

With the renaming these two values got merged into a single entry.
This patch un-merges them by renaming the what was vslot to requested_vslot.

So an out of chronological order list of name changes is:

'vslot' -> 'requested_vslot'
'vslt'  -> 'vslot'

Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

---
Thu, 23 Apr 2009 03:30:54 +1000

* I have given this only light testing, I would appreciate it if others
  could look at it.

* This bug should probably be fixed for 3.4.0

* This bug is in Bugzilla as Bug #1446
  http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1446

Thu, 23 Apr 2009 11:41:36 +1000

* Removed spirous tools/python/xen/xend/XendDomainInfo.py fragments,
  these were a cosmetic change I was working on.

Index: xen-unstable.hg/tools/python/xen/xend/XendConfig.py
===================================================================
--- xen-unstable.hg.orig/tools/python/xen/xend/XendConfig.py    2009-04-23 
11:38:54.000000000 +1000
+++ xen-unstable.hg/tools/python/xen/xend/XendConfig.py 2009-04-23 
11:38:58.000000000 +1000
@@ -1285,7 +1285,7 @@ class XendConfig(dict):
                     dpci_record = {
                         'VM': self['uuid'],
                         'PPCI': ppci_uuid,
-                        'hotplug_slot': pci_dev.get('vslot', 0)
+                        'hotplug_slot': pci_dev.get('requested_vslot', 0)
                     }
dpci_opts = pci_dev.get('opts')
@@ -1847,7 +1847,7 @@ class XendConfig(dict):
                     dpci_record = {
                         'VM': self['uuid'],
                         'PPCI': ppci_uuid,
-                        'hotplug_slot': pci_dev.get('vslot', 0)
+                        'hotplug_slot': pci_dev.get('requested_vslot', 0)
                     }
dpci_opts = pci_dev.get('opts')
Index: xen-unstable.hg/tools/python/xen/xend/server/pciif.py
===================================================================
--- xen-unstable.hg.orig/tools/python/xen/xend/server/pciif.py  2009-04-23 
11:38:54.000000000 +1000
+++ xen-unstable.hg/tools/python/xen/xend/server/pciif.py       2009-04-23 
11:38:58.000000000 +1000
@@ -79,7 +79,7 @@ class PciController(DevController):
             bus = parse_hex(pci_config.get('bus', 0))
             slot = parse_hex(pci_config.get('slot', 0))
func = parse_hex(pci_config.get('func', 0)) - vslot = parse_hex(pci_config.get('vslot', 0))
+            requested_vslot = parse_hex(pci_config.get('requested_vslot', 0))
opts = pci_config.get('opts', '')
             if len(opts) > 0:
@@ -90,7 +90,7 @@ class PciController(DevController):
             back['dev-%i' % pcidevid] = "%04x:%02x:%02x.%01x" % \
                                         (domain, bus, slot, func)
             back['uuid-%i' % pcidevid] = pci_config.get('uuid', '')
-            back['vslot-%i' % pcidevid] = "%02x" % vslot
+            back['vslot-%i' % pcidevid] = "%02x" % requested_vslot
             pcidevid += 1
if vslots != "":
Index: xen-unstable.hg/tools/python/xen/xm/create.py
===================================================================
--- xen-unstable.hg.orig/tools/python/xen/xm/create.py  2009-04-23 
11:38:54.000000000 +1000
+++ xen-unstable.hg/tools/python/xen/xm/create.py       2009-04-23 
11:38:58.000000000 +1000
@@ -710,7 +710,8 @@ def configure_pci(config_devs, vals):
             config_pci_opts.append([k, d[k]])
config_pci_bdf = ['dev', ['domain', domain], ['bus', bus], \
-                          ['slot', slot], ['func', func], ['vslot', vslot]]
+                          ['slot', slot], ['func', func],
+                          ['requested_vslot', vslot]]
         map(f, d.keys())
         if len(config_pci_opts)>0:
             config_pci_bdf.append(['opts', config_pci_opts])


--
best rgds,
edwin


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>