All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: aik@ozlabs.ru, qemu-devel@nongnu.org, agraf@suse.de,
	qemu-ppc@nongnu.org, tyreld@linux.vnet.ibm.com,
	bharata.rao@gmail.com, nfont@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH v8 00/16] spapr: add support for pci hotplug
Date: Thu, 30 Apr 2015 16:04:49 -0500	[thread overview]
Message-ID: <20150430210449.11253.78857@loki> (raw)
In-Reply-To: <20150430041304.GA17449@voom.redhat.com>

Quoting David Gibson (2015-04-29 23:13:04)
> On Wed, Apr 22, 2015 at 01:28:04AM -0500, Michael Roth wrote:
> > These patches are based on spapr-next, and can also be obtained
> > from:
> 
> Thanks Michael.
> 
> I've made a few small conflict fixes and merged this into spapr-next.

Great, thanks!

> 
> Could you please:
> 
>   a) Pull the new spapr-next and test that your code still works

I've run it through all my basic testing and things look good. I did
need one change though regarding the 2.4 machine type intro though:

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index a8116d0..8fbcaf5 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1919,6 +1919,7 @@ static void spapr_machine_register_types(void)
     type_register_static(&spapr_machine_2_1_info);
     type_register_static(&spapr_machine_2_2_info);
     type_register_static(&spapr_machine_2_3_info);
+    type_register_static(&spapr_machine_2_4_info);
 }
 
 type_init(spapr_machine_register_types)

Just needs to get squashed into "pseries: Add pseries-2.4 machine type"
I'd imagine.

> 
>   b) Send me some minimal instructions for doing a basic test of PCI
>      hotplug.  I have some spapr cleanups in mind, and I'd like to be
>      able to check for myself that I at least haven't broken things
>      totally.

For all the following tests, the following guest distros (assuming they're
updated) should support the hotplug event and will do the whole device
bring-up/tear-down in response to hotplug/unplug: Fedora 21+, RHEL 6.6+, 
rhel 7.1+, sles12+, ubuntu 14.04+.

For quick testing just booting to SLOF you can do a reboot after
device_add/device_del to get the device picked up by SLOF PCI enumeration,
or finalized by QEMU's reset hooks, respectively. This won't exercise any
RTAS calls or actual device functionality, but should touch most of the
hotplug-related code.

= BASIC TEST

 # start guest with an extra PHB to cover hotplug across multiple PHBs

 qemu ... -device spapr-pci-host-bridge,index=1,phb1

 # from QEMU HMP monitor

 netdev_add user,id=hpnet0.0
 device_add virtio-net-pci,id=hp0.0,netdev=hpnet0.0 #PHB 0
 netdev_add user,id=hpnet1.0
 device_add virtio-net-pci,id=hp1.0,netdev=hpnet1.0,bus=phb1.0 #PHB 1

 <if running supported distro, verify devices show up in lspci, and
  that interfaces can be brought online and lease IPs>
 <if just booting to SLOF, verify devices are preset via 'info pci'
  monitor command>

 device_del hp0.0
 netdev_del hpnet0.0
 device_del hp1.0
 netdev_del hpnet1.0

 <if running supported distro, verify devices are removed from lspci>
 <if just booting to SLOF, issue system_reset and verify devices
  are removed from output of 'info pci' monitor command>

= MULTIFUNCTION HOTPLUG TEST

 #start guest as above

 netdev_add user,id=hpnet1.0.0
 device_add virtio-net-pci,id=hp1.0.0,netdev=hpnet1.0.0,bus=phb1.0,\
    addr=0x0.0,multifunction=on
 netdev_add user,id=hpnet1.0.1
 device_add virtio-net-pci,id=hp1.0.1,netdev=hpnet1.0.1,bus=phb1.0,\
    addr=0x0.1,multifunction=on

 <verify each function as above, and that they're functions of the same
  device>

 device_del hp1.0.0
 netdev_del hpnet1.0.0
 device_del hp1.0.1
 netdev_del hpnet1.0.1

 <verify each function as above>

> 
> -- 
> David Gibson                    | I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
>                                 | _way_ _around_!
> http://www.ozlabs.org/~dgibson

  reply	other threads:[~2015-04-30 21:05 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-22  6:28 [Qemu-devel] [PATCH v8 00/16] spapr: add support for pci hotplug Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 01/16] docs: add sPAPR hotplug/dynamic-reconfiguration documentation Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 02/16] spapr_drc: initial implementation of sPAPRDRConnector device Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 03/16] spapr_rtas: add get/set-power-level RTAS interfaces Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 04/16] spapr_rtas: add set-indicator RTAS interface Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 05/16] spapr_rtas: add get-sensor-state " Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 06/16] spapr: add rtas_st_buffer_direct() helper Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 07/16] spapr_rtas: add ibm, configure-connector RTAS interface Michael Roth
2015-04-28  7:23   ` David Gibson
2015-04-29  5:57     ` Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 08/16] spapr_events: re-use EPOW event infrastructure for hotplug events Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 09/16] spapr_events: event-scan RTAS interface Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 10/16] spapr_drc: add spapr_drc_populate_dt() Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 11/16] spapr: add pseries-2.4 machine type Michael Roth
2015-04-28  7:25   ` David Gibson
2015-04-29  6:11     ` Michael Roth
2015-04-30  1:03       ` David Gibson
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 12/16] spapr_pci: add dynamic-reconfiguration option for spapr-pci-host-bridge Michael Roth
2015-04-28  7:26   ` David Gibson
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 13/16] spapr_pci: create DRConnectors for each PCI slot during PHB realize Michael Roth
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 14/16] pci: make pci_bar useable outside pci.c Michael Roth
2015-04-28  7:31   ` David Gibson
2015-04-28  8:37     ` Michael S. Tsirkin
2015-04-29  1:51       ` David Gibson
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 15/16] spapr_pci: enable basic hotplug operations Michael Roth
2015-04-24 10:30   ` [Qemu-devel] [Qemu-ppc] " Nikunj A Dadhania
2015-04-22  6:28 ` [Qemu-devel] [PATCH v8 16/16] spapr_pci: emit hotplug add/remove events during hotplug Michael Roth
2015-04-30  4:13 ` [Qemu-devel] [PATCH v8 00/16] spapr: add support for pci hotplug David Gibson
2015-04-30 21:04   ` Michael Roth [this message]
2015-04-30 21:35     ` Michael Roth
2015-05-01  5:49     ` David Gibson

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=20150430210449.11253.78857@loki \
    --to=mdroth@linux.vnet.ibm.com \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=bharata.rao@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=nfont@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=tyreld@linux.vnet.ibm.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 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.