public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kvm-devel@lists.sourceforge.net,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Avi Kivity <avi@qumranet.com>, Glauber Costa <gcosta@redhat.com>
Subject: Re: [patch 14/23] QEMU/KVM: device hot-add
Date: Tue, 4 Mar 2008 19:53:46 +0000	[thread overview]
Message-ID: <20080304195346.GQ6713@redhat.com> (raw)
In-Reply-To: <47CDA362.6030903@codemonkey.ws>

On Tue, Mar 04, 2008 at 01:30:42PM -0600, Anthony Liguori wrote:
> Daniel P. Berrange wrote:
> >On Tue, Mar 04, 2008 at 03:34:33PM -0300, Marcelo Tosatti wrote:
> >>Add monitor command to hot-add PCI devices (nic and drive).
> >[snip]
> >
> >  
> >>Index: kvm-userspace.hotplug/qemu/monitor.c
> >>===================================================================
> >>--- kvm-userspace.hotplug.orig/qemu/monitor.c
> >>+++ kvm-userspace.hotplug/qemu/monitor.c
> >>@@ -1354,6 +1354,7 @@ static term_cmd_t term_cmds[] = {
> >>     { "migrate_set_speed", "s", do_migrate_set_speed,
> >>       "value", "set maximum speed (in bytes) for migrations" },
> >>     { "cpu_set", "is", do_cpu_set_nr, "cpu [online|offline]", "change 
> >>     cpu state" },
> >>+    { "pci_add", "ss", device_hot_add, "nic|drive 
> >>[vlan=n][,macaddr=addr][,model=type] 
> >>[[file=file][,if=type][,bus=n][,unit=m][,media=d][index=i]]", "hotadd PCI 
> >>device" },
> >>    
> >
> >This syntax is not very nice IMHO. We should have explicit commands
> >for the different types of device,
> >
> >ie
> >
> >   nic_add [vlan=n][,macaddr=addr][,model=type]
> >   drive_add [[file=file][,if=type][,bus=n][,unit=m][,media=d][index=i]]
> >
> >ie, follow naming of the command line args   -nic, and -drive.
> >
> >This also keeps 'pci_add' as a command name available for future use to
> >do generic host->guest  pci device pass-through.
> >  
> 
> There is symmetry with pci_add and usb_add since usb_add takes either a 
> USB device identifier or the name of an emulated device along with 
> parameters.  So I prefer the pci_add syntax just to maintain consistency 
> with the rest of QEMU.

This is true, but the usb_add/remove syntax is horrible to work with. One
of the reasons I've not added  USB hotplug/remove to libvirt yet is the
difficulty (perhaps even impossibility) of reliably finding out the USB
device number associated with the device that was added. I guess ideally
the add command would have to print out / return the number associated
with the device, which libvirt could record for use when it later comes
time to remove the device.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  reply	other threads:[~2008-03-04 19:53 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-04 18:34 [patch 00/23] [RFC] QEMU/KVM ACPI PCI hotplug Marcelo Tosatti
2008-03-04 18:34 ` [patch 01/23] QEMU/KVM: add PCI IRQ routing information up to slot 32 Marcelo Tosatti
2008-03-05  5:40   ` Avi Kivity
2008-03-04 18:34 ` [patch 02/23] QEMU/KVM: add devices to represent PCI slots with _EJ0 method Marcelo Tosatti
2008-03-04 18:34 ` [patch 03/23] QEMU/KVM: add OperationRegion and GPE handler for add/removal notification Marcelo Tosatti
2008-03-04 18:34 ` [patch 04/23] QEMU/KVM: add pci_find_bus Marcelo Tosatti
2008-03-04 18:34 ` [patch 05/23] QEMU/KVM: return PCIDevice on net device init and record devfn Marcelo Tosatti
2008-03-04 18:34 ` [patch 06/23] QEMU/KVM: pci hotplug GPE support Marcelo Tosatti
2008-03-04 18:34 ` [patch 07/23] QEMU/KVM: dynamic drive/drive_opt index allocation Marcelo Tosatti
2008-03-04 18:34 ` [patch 08/23] QEMU/KVM: dynamic nic info " Marcelo Tosatti
2008-03-04 18:34 ` [patch 09/23] QEMU/KVM: drive removal support Marcelo Tosatti
2008-03-04 18:34 ` [patch 10/23] QEMU/KVM: record devfn on block driver instance Marcelo Tosatti
2008-03-04 18:34 ` [patch 11/23] QEMU/KVM: move drives_opt for external use Marcelo Tosatti
2008-03-04 18:34 ` [patch 12/23] QEMU/KVM: net/drive add/remove tweaks Marcelo Tosatti
2008-03-04 18:34 ` [patch 13/23] QEMU/KVM: add net_client_uninit Marcelo Tosatti
2008-03-04 18:34 ` [patch 14/23] QEMU/KVM: device hot-add Marcelo Tosatti
2008-03-04 19:14   ` Daniel P. Berrange
2008-03-04 19:30     ` Anthony Liguori
2008-03-04 19:53       ` Daniel P. Berrange [this message]
2008-03-04 21:44         ` Itamar Heim
2008-03-05  5:50   ` Avi Kivity
2008-03-11 14:18     ` Marcelo Tosatti
2008-03-04 18:34 ` [patch 15/23] QEMU/KVM: add pci_find_device Marcelo Tosatti
2008-03-04 18:34 ` [patch 16/23] QEMU/KVM: add cpu_unregister_io_memory and make io mem table index dynamic Marcelo Tosatti
2008-03-04 18:34 ` [patch 17/23] QEMU/KVM: notify _EJ0 through _SEJ OperationRegion Marcelo Tosatti
2008-03-04 18:34 ` [patch 18/23] QEMU/KVM: handle SEJ notifications Marcelo Tosatti
2008-03-04 18:34 ` [patch 19/23] QEMU/KVM: add qemu_free_irqs Marcelo Tosatti
2008-03-04 18:34 ` [patch 20/23] QEMU/KVM: add pci_unregister_device Marcelo Tosatti
2008-03-04 18:34 ` [patch 21/23] QEMU/KVM: LSI SCSI unregister callback Marcelo Tosatti
2008-03-04 18:34 ` [patch 22/23] QEMU/KVM: zero ioport_opaque on isa_unassign_ioport Marcelo Tosatti
2008-03-04 18:34 ` [patch 23/23] QEMU/KVM: device hot-remove Marcelo Tosatti
2008-03-04 19:18   ` Daniel P. Berrange
2008-03-04 19:32     ` Anthony Liguori
2008-03-04 20:00       ` Marcelo Tosatti
2008-03-04 20:06         ` Daniel P. Berrange
2008-03-05  6:28           ` Avi Kivity
2008-03-05  5:46       ` Avi Kivity
2008-03-05  6:47   ` Avi Kivity
2008-03-05  6:00 ` [patch 00/23] [RFC] QEMU/KVM ACPI PCI hotplug Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080304195346.GQ6713@redhat.com \
    --to=berrange@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@qumranet.com \
    --cc=gcosta@redhat.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox