* [PATCH 1/3][RFC] PV Passthrough PCI Device Hotplug Support (Tools Part)
@ 2008-02-21 11:01 Yosuke Iwamatsu
2008-02-22 10:04 ` Keir Fraser
0 siblings, 1 reply; 8+ messages in thread
From: Yosuke Iwamatsu @ 2008-02-21 11:01 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1: Type: text/plain, Size: 251 bytes --]
Tools part of PV PCI hotplug, applied to xen-unstable.hg cs17042.
Most of this part will be changed to adjust latest xen-unstable,
since there already exists HVM PCI hotplug code.
Thanks,
-------------------
Yosuke Iwamatsu
NEC Corporation
[-- Attachment #2: pv_pcihp_tools.patch --]
[-- Type: all/allfiles, Size: 19740 bytes --]
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/3][RFC] PV Passthrough PCI Device Hotplug Support (Tools Part) 2008-02-21 11:01 [PATCH 1/3][RFC] PV Passthrough PCI Device Hotplug Support (Tools Part) Yosuke Iwamatsu @ 2008-02-22 10:04 ` Keir Fraser 2008-02-22 10:19 ` Yosuke Iwamatsu 0 siblings, 1 reply; 8+ messages in thread From: Keir Fraser @ 2008-02-22 10:04 UTC (permalink / raw) To: Yosuke Iwamatsu, xen-devel On 21/2/08 11:01, "Yosuke Iwamatsu" <y-iwamatsu@ab.jp.nec.com> wrote: > Tools part of PV PCI hotplug, applied to xen-unstable.hg cs17042. > > Most of this part will be changed to adjust latest xen-unstable, > since there already exists HVM PCI hotplug code. I applied the other two patches (the Xen and Linux pieces) so please just re-submit this one. -- Keir ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3][RFC] PV Passthrough PCI Device Hotplug Support (Tools Part) 2008-02-22 10:04 ` Keir Fraser @ 2008-02-22 10:19 ` Yosuke Iwamatsu 2008-03-10 1:19 ` [PATCH] " Yosuke Iwamatsu 0 siblings, 1 reply; 8+ messages in thread From: Yosuke Iwamatsu @ 2008-02-22 10:19 UTC (permalink / raw) To: Keir Fraser; +Cc: xen-devel Keir Fraser wrote: > On 21/2/08 11:01, "Yosuke Iwamatsu" <y-iwamatsu@ab.jp.nec.com> wrote: > >> Tools part of PV PCI hotplug, applied to xen-unstable.hg cs17042. >> >> Most of this part will be changed to adjust latest xen-unstable, >> since there already exists HVM PCI hotplug code. > > I applied the other two patches (the Xen and Linux pieces) so please just > re-submit this one. Thanks! Now I'm going to look into xend and see how I can get along with the existing HVM pcihp code. -- Yosuke ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) 2008-02-22 10:19 ` Yosuke Iwamatsu @ 2008-03-10 1:19 ` Yosuke Iwamatsu 2008-03-10 2:04 ` [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) Masaki Kanno 2008-03-10 7:17 ` [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) Zhai, Edwin 0 siblings, 2 replies; 8+ messages in thread From: Yosuke Iwamatsu @ 2008-03-10 1:19 UTC (permalink / raw) To: Keir Fraser, xen-devel, Zhai, Edwin [-- Attachment #1: Type: text/plain, Size: 1487 bytes --] Hi, This is the updated patch of PV PCI passthrough hotplug (tools portion). Changes to xm command: - Let 'xm pci-attach' command use <domain:bus:slot.func> expression rather than use separated arguments like <domain> <bus> <slot> <func>. This is the same expression of the domain configuration file and I believe it is more user-friendly. - Let 'xm pci-detach' command use the same <domain:bus:slot.func> expression. Formerly, <virtual slot> was used as the key to indicate which device we were detaching. But for the current implementation of PV PCI hotplug, virtual slots don't have much meaning. I think using the same physical device name in both attachment and detachment is appropriate here. Changes to xend: - Both attach and detach commands are received by device_configure() and handled by pci_device_configure(). - HVM specific processings are done in hvm_pci_create_device() and hvm_destroyPCIDevice(). The major problem I encoutered during this work is that, I don't have a vt-d enabled machine and could not confirm that HVM PCI hotplug would still work after modifications :-( Then I hacked libxc a little to pretend as if there existed a vt-d hardware, and could see HVM PCI attach/detach working correctly. So now I'm pretty sure that we can do both PV and HVM hotplugs with this patch, but I would appreciate it if someone could test this on a real vt-d machine. Regards, ------------------- Yosuke Iwamatsu NEC Corporation [-- Attachment #2: pv_pcihp_tools_merge.patch --] [-- Type: all/allfiles, Size: 31631 bytes --] [-- Attachment #3: Type: text/plain, Size: 138 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) 2008-03-10 1:19 ` [PATCH] " Yosuke Iwamatsu @ 2008-03-10 2:04 ` Masaki Kanno 2008-03-10 2:26 ` Yosuke Iwamatsu 2008-03-10 7:17 ` [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) Zhai, Edwin 1 sibling, 1 reply; 8+ messages in thread From: Masaki Kanno @ 2008-03-10 2:04 UTC (permalink / raw) To: Yosuke Iwamatsu, Keir Fraser, xen-devel, Zhai, Edwin Hi Iwamatsu, def xm_pci_detach(args): - arg_check(args, 'pci-detach', 2) - dom = args[0] - dev = args[1] - server.xend.domain.destroyDevice(dom, 'dpci', dev) + arg_check(args, 'pci-detach', 2, 2) <----------------- here!! + (dom, pci) = parse_pci_configuration(args, 'Closing') + server.xend.domain.device_configure(dom, pci) + The last "2" is not necessary. With your patch, the following strange error message is shown. # xm pci-detach Error: 'xm pci-detach' requires between 2 and 2 arguments. ^^^^^^^^^^^^^^^ Usage: xm pci-detach <Domain> <virtual slot> Remove a domain's pass-through pci device. Best regards, Kan Mon, 10 Mar 2008 10:19:10 +0900, Yosuke Iwamatsu wrote: >Hi, > >This is the updated patch of PV PCI passthrough hotplug (tools portion). > >Changes to xm command: >- Let 'xm pci-attach' command use <domain:bus:slot.func> expression > rather than use separated arguments like <domain> <bus> <slot> <func>. > This is the same expression of the domain configuration file and I > believe it is more user-friendly. >- Let 'xm pci-detach' command use the same <domain:bus:slot.func> > expression. Formerly, <virtual slot> was used as the key to indicate > which device we were detaching. But for the current implementation of > PV PCI hotplug, virtual slots don't have much meaning. I think using > the same physical device name in both attachment and detachment is > appropriate here. > >Changes to xend: >- Both attach and detach commands are received by device_configure() > and handled by pci_device_configure(). >- HVM specific processings are done in hvm_pci_create_device() and > hvm_destroyPCIDevice(). > >The major problem I encoutered during this work is that, I don't have >a vt-d enabled machine and could not confirm that HVM PCI hotplug would >still work after modifications :-( >Then I hacked libxc a little to pretend as if there existed a vt-d >hardware, and could see HVM PCI attach/detach working correctly. >So now I'm pretty sure that we can do both PV and HVM hotplugs with >this patch, but I would appreciate it if someone could test this on >a real vt-d machine. > >Regards, >------------------- >Yosuke Iwamatsu > NEC Corporation > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) 2008-03-10 2:04 ` [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) Masaki Kanno @ 2008-03-10 2:26 ` Yosuke Iwamatsu 0 siblings, 0 replies; 8+ messages in thread From: Yosuke Iwamatsu @ 2008-03-10 2:26 UTC (permalink / raw) To: Masaki Kanno; +Cc: Keir Fraser, xen-devel, Zhai, Edwin [-- Attachment #1: Type: text/plain, Size: 486 bytes --] Masaki Kanno wrote: > Hi Iwamatsu, > > def xm_pci_detach(args): > - arg_check(args, 'pci-detach', 2) > - dom = args[0] > - dev = args[1] > - server.xend.domain.destroyDevice(dom, 'dpci', dev) > + arg_check(args, 'pci-detach', 2, 2) <----------------- here!! > + (dom, pci) = parse_pci_configuration(args, 'Closing') > + server.xend.domain.device_configure(dom, pci) > + > > The last "2" is not necessary. All right. The revised patch is attached. -- Yosuke [-- Attachment #2: pv_pcihp_tools_merge-r1.patch --] [-- Type: all/allfiles, Size: 31591 bytes --] [-- Attachment #3: Type: text/plain, Size: 138 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) 2008-03-10 1:19 ` [PATCH] " Yosuke Iwamatsu 2008-03-10 2:04 ` [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) Masaki Kanno @ 2008-03-10 7:17 ` Zhai, Edwin 2008-03-10 11:22 ` Yosuke Iwamatsu 1 sibling, 1 reply; 8+ messages in thread From: Zhai, Edwin @ 2008-03-10 7:17 UTC (permalink / raw) To: Yosuke Iwamatsu; +Cc: Keir Fraser, xen-devel, Zhai, Edwin Yosuke, Thanks for you work. I have tested your patch works on HVM VT-d side. One suggestion is error handling for user input. e.g. following input error should be caught by xm: [root@vt-gang32 ~]# xm pci-attach EdwinHVMDomainVtd2 0:2.0.0 (should be 0:2:0.0) Error: pci: failed to locate device and parse it's resources - [Errno 2] No such file or directory: '/sys/bus/pci/devices/0000:00:02.0/driver' Usage: xm pci-attach <Domain> <domain:bus:slot.func> [virtual slot] On Mon, Mar 10, 2008 at 10:19:10AM +0900, Yosuke Iwamatsu wrote: > Hi, > > This is the updated patch of PV PCI passthrough hotplug (tools portion). > > Changes to xm command: > - Let 'xm pci-attach' command use <domain:bus:slot.func> expression > rather than use separated arguments like <domain> <bus> <slot> <func>. > This is the same expression of the domain configuration file and I > believe it is more user-friendly. > - Let 'xm pci-detach' command use the same <domain:bus:slot.func> > expression. Formerly, <virtual slot> was used as the key to indicate > which device we were detaching. But for the current implementation of > PV PCI hotplug, virtual slots don't have much meaning. I think using > the same physical device name in both attachment and detachment is > appropriate here. > > Changes to xend: > - Both attach and detach commands are received by device_configure() > and handled by pci_device_configure(). > - HVM specific processings are done in hvm_pci_create_device() and > hvm_destroyPCIDevice(). > > The major problem I encoutered during this work is that, I don't have > a vt-d enabled machine and could not confirm that HVM PCI hotplug would > still work after modifications :-( > Then I hacked libxc a little to pretend as if there existed a vt-d > hardware, and could see HVM PCI attach/detach working correctly. > So now I'm pretty sure that we can do both PV and HVM hotplugs with > this patch, but I would appreciate it if someone could test this on > a real vt-d machine. > > Regards, > ------------------- > Yosuke Iwamatsu > NEC Corporation > -- best rgds, edwin ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) 2008-03-10 7:17 ` [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) Zhai, Edwin @ 2008-03-10 11:22 ` Yosuke Iwamatsu 0 siblings, 0 replies; 8+ messages in thread From: Yosuke Iwamatsu @ 2008-03-10 11:22 UTC (permalink / raw) To: Zhai, Edwin; +Cc: Keir Fraser, xen-devel Zhai, Edwin wrote: > Yosuke, > > Thanks for you work. > I have tested your patch works on HVM VT-d side. I'm relieved to hear that. Thank you. > > One suggestion is error handling for user input. e.g. following input error > should be caught by xm: > > [root@vt-gang32 ~]# xm pci-attach EdwinHVMDomainVtd2 0:2.0.0 (should be > 0:2:0.0) > > Error: pci: failed to locate device and parse it's resources - [Errno 2] No such > file or directory: '/sys/bus/pci/devices/0000:00:02.0/driver' > Usage: xm pci-attach <Domain> <domain:bus:slot.func> [virtual slot] Okay. The small patch below should fix the issue. (applied after the previous patch) Thanks, Yosuke Iwamatsu --------- xm: Fix parsing pci device name. Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com> diff -r 9233270dfe6a tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Mon Mar 10 17:58:25 2008 +0900 +++ b/tools/python/xen/xm/main.py Mon Mar 10 20:26:49 2008 +0900 @@ -2240,7 +2240,7 @@ def parse_pci_configuration(args, state) pci_match = re.match(r"((?P<domain>[0-9a-fA-F]{1,4})[:,])?" + \ r"(?P<bus>[0-9a-fA-F]{1,2})[:,]" + \ r"(?P<slot>[0-9a-fA-F]{1,2})[.,]" + \ - r"(?P<func>[0-9a-fA-F])", pci_dev_str) + r"(?P<func>[0-7])$", pci_dev_str) if pci_match == None: raise OptionError("Invalid argument: %s %s" % (pci_dev_str,vslt)) pci_dev_info = pci_match.groupdict('0') ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-03-10 11:22 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-02-21 11:01 [PATCH 1/3][RFC] PV Passthrough PCI Device Hotplug Support (Tools Part) Yosuke Iwamatsu 2008-02-22 10:04 ` Keir Fraser 2008-02-22 10:19 ` Yosuke Iwamatsu 2008-03-10 1:19 ` [PATCH] " Yosuke Iwamatsu 2008-03-10 2:04 ` [PATCH] PV Passthrough PCI Device Hotplug Support(Tools Part) Masaki Kanno 2008-03-10 2:26 ` Yosuke Iwamatsu 2008-03-10 7:17 ` [PATCH] PV Passthrough PCI Device Hotplug Support (Tools Part) Zhai, Edwin 2008-03-10 11:22 ` Yosuke Iwamatsu
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.