qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: "qemu-ppc@nongnu.org List" <qemu-ppc@nongnu.org>,
	qemu-devel qemu-devel <qemu-devel@nongnu.org>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 12/12] pseries: Generate unique LIOBNs for PCI host bridges
Date: Wed, 21 Nov 2012 17:27:37 +0200	[thread overview]
Message-ID: <20121121152737.GC5730@redhat.com> (raw)
In-Reply-To: <50ACD6AC.6030001@suse.de>

On Wed, Nov 21, 2012 at 02:27:08PM +0100, Alexander Graf wrote:
> On 11/21/2012 02:21 PM, David Gibson wrote:
> >On Wed, Nov 21, 2012 at 03:13:39PM +0200, Michael S. Tsirkin wrote:
> >>On Wed, Nov 21, 2012 at 11:36:00PM +1100, David Gibson wrote:
> >>>On Wed, Nov 21, 2012 at 01:34:48PM +0200, Michael S. Tsirkin wrote:
> >>>>On Wed, Nov 21, 2012 at 11:57:05AM +1100, David Gibson wrote:
> >>>>>On Tue, Nov 20, 2012 at 02:26:09PM +0200, Michael S. Tsirkin wrote:
> >>>>>>On Tue, Nov 20, 2012 at 10:27:11AM +0100, Alexander Graf wrote:
> >>>>>>>On 19.11.2012, at 23:51, David Gibson wrote:
> >>>>>>>
> >>>>>>>>On Mon, Nov 19, 2012 at 05:34:12PM +0100, Alexander Graf wrote:
> >>>>>>>>>On 13.11.2012, at 03:47, David Gibson wrote:
> >>>>>>>>>
> >>>>>>>>>>From: Alexey Kardashevskiy<aik@ozlabs.ru>
> >>>>>>>>>>
> >>>>>>>>>>In future (with VFIO) we will have multiple PCI host bridges on
> >>>>>>>>>>pseries.  Each one needs a unique LIOBN (IOMMU id).  At the moment we
> >>>>>>>>>>derive these from the pci domain number, but the whole notion of
> >>>>>>>>>>domain numbers on the qemu side is bogus and in any case they're not
> >>>>>>>>>>actually uniquely allocated at this point.
> >>>>>>>>>>
> >>>>>>>>>>This patch, therefore uses a simple sequence counter to generate
> >>>>>>>>>>unique LIOBNs for PCI host bridges.
> >>>>>>>>>>
> >>>>>>>>>>Signed-off-by: Alexey Kardashevskiy<aik@ozlabs.ru>
> >>>>>>>>>>Signed-off-by: David Gibson<david@gibson.dropbear.id.au>
> >>>>>>>>>I don't really like the idea of having a global variable just
> >>>>>>>>>because our domain ID generation seems to not work as
> >>>>>>>>>expected. Michael, any comments here?
> >>>>>>>>Well, the patch I sent which changed domain id generation was
> >>>>>>>>ignored.  In any case, as I said, the whole concept of domain numbers
> >>>>>>>Michael?
> >>>>>>This is user visible, right?
> >>>>>>So IMHO we should have the user specify LIOBN through a property,
> >>>>>>rather than assign what's essentially a random value.
> >>>>>Well, I can implement an override through a property, which could be
> >>>>>useful in some circumstances.  But we still need to have qemu generate
> >>>>>unique defaults, rather than forcing it to be specified in every case.
> >>>>I don't see why.
> >>>>And if you want automatic defaults then they need to be generated in a
> >>>>way that does not depend on implementation detail such as order of
> >>>>device initialization.
> >>>Because requiring explicit unique liobns to be supplied whenever there
> >>>is more than one PHB is horrible for usability.
> >>We should make simple things simple and complex things possible.
> >>More than one PHB seems like an advanced feature
> >Not for pseries.  On real hardware of this type, dozens of PHBs is
> >routine.  Plus, vfio passthrough is coming, we need at minimum one PHB
> >for emulated devices and one for passthrough devices.
> 
> Yeah, I second Davids opinion here. We need to make this easy for users.

I think users don't normally create PHBs. They request a disk, a network
device, a pass-through device ... In this case if this requires
more PHBs create them internally but I imagine this doesn't
require any allocation scheme - simply set some address
for virtual devices, some other one for assigned devices ... no?

If user wants to play with low level detail such as PHBs I don't see why
it's not reasonable to require full specification.

> How do we assign PCI slot IDs today when all you do is a -device?
> This should probably follow the same scheme.
> 
> 
> Alex

What we do is find a first free slow. But it's exactly why I worry:
changing pci addresses between qemu releases has been a source of pain
and compatibility hassles in the past.
The problem would be more manageable if you simply reserve some fixed
addresses for internal use, like we reserve slots for VGA and IDE,
though even that becomes a problem as we switch to q35.

-- 
MST

  reply	other threads:[~2012-11-21 15:25 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13  2:46 [Qemu-devel] [0/12] Pending pseries patches David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 01/12] pseries: Fix incorrect initialization of interrupt controller David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 02/12] pseries: Use #define for XICS base irq number David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 03/12] pseries: Move XICS initialization before cpu initialization David Gibson
2012-11-19 16:22   ` Alexander Graf
2012-11-19 19:54     ` Benjamin Herrenschmidt
2012-11-19 22:47       ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:26         ` Alexander Graf
2012-11-21  1:10           ` David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 04/12] pseries: Return the token when we register an RTAS call David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 05/12] pseries: Allow RTAS tokens without a qemu handler David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 06/12] pseries: Add tracepoints to the XICS interrupt controller David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 07/12] pseries: Split xics irq configuration from state information David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 08/12] target-ppc: Convert ppcemb_tlb_t to use fixed 64-bit RPN David Gibson
2012-11-19 16:26   ` Alexander Graf
2012-11-19 22:48     ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:29       ` Alexander Graf
2012-11-20  9:53         ` Peter Maydell
2012-11-20  9:55           ` Alexander Graf
2012-11-21  1:14             ` David Gibson
2012-11-21  1:48               ` Alexander Graf
2012-11-21  1:56                 ` David Gibson
2012-11-21 10:07                   ` Alexander Graf
2012-11-13  2:46 ` [Qemu-devel] [PATCH 09/12] pseries: Implement PAPR NVRAM David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 10/12] pseries: Update SLOF for NVRAM support David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 11/12] pseries: Fix bug in PCI MSI allocation David Gibson
2012-11-13  2:47 ` [Qemu-devel] [PATCH 12/12] pseries: Generate unique LIOBNs for PCI host bridges David Gibson
2012-11-19 16:34   ` Alexander Graf
2012-11-19 22:51     ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:27       ` Alexander Graf
2012-11-20 12:26         ` Michael S. Tsirkin
2012-11-21  0:57           ` David Gibson
2012-11-21 11:34             ` Michael S. Tsirkin
2012-11-21 12:36               ` David Gibson
2012-11-21 13:13                 ` Michael S. Tsirkin
2012-11-21 13:21                   ` David Gibson
2012-11-21 13:27                     ` Alexander Graf
2012-11-21 15:27                       ` Michael S. Tsirkin [this message]
2012-11-22  2:27                         ` David Gibson
2012-11-22  7:23                           ` Michael S. Tsirkin
2012-11-22 11:27                             ` Alexander Graf
2012-11-22 11:39                               ` Michael S. Tsirkin
2012-11-23  4:13                             ` David Gibson
2012-11-23 10:53                               ` Michael S. Tsirkin
2012-11-23 12:59                                 ` David Gibson
2012-11-23 13:44                                   ` Michael S. Tsirkin
2012-11-23 13:44                                     ` Alexander Graf
2012-11-23 14:01                                       ` Michael S. Tsirkin
2012-11-23 14:03                                         ` Alexander Graf
2012-11-23 14:18                                           ` Michael S. Tsirkin
2012-11-23 14:27                                             ` Alexander Graf
2012-11-25 23:24                                         ` David Gibson
2012-11-21 15:20                     ` Michael S. Tsirkin
2012-11-21  5:00         ` David Gibson
2012-11-21 10:09           ` Alexander Graf
2012-11-21 11:40             ` Michael S. Tsirkin
2012-11-19 16:35 ` [Qemu-devel] [0/12] Pending pseries patches Alexander Graf

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=20121121152737.GC5730@redhat.com \
    --to=mst@redhat.com \
    --cc=agraf@suse.de \
    --cc=david@gibson.dropbear.id.au \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /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).