qemu-devel.nongnu.org archive mirror
 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:35:59 -0500	[thread overview]
Message-ID: <20150430213559.11253.26756@loki> (raw)
In-Reply-To: <20150430210449.11253.78857@loki>

Quoting Michael Roth (2015-04-30 16:04:49)
> 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

Actually this should probably be:

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

From what I recall multifunction devices are expected to have a 0
function present when attached, and behavior is undefined otherwise.

> 
>  <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:36 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
2015-04-30 21:35     ` Michael Roth [this message]
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=20150430213559.11253.26756@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).