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: Fri, 23 Nov 2012 16:18:55 +0200	[thread overview]
Message-ID: <20121123141855.GA9530@redhat.com> (raw)
In-Reply-To: <76758E42-452F-464B-834C-6AA18B271BD6@suse.de>

On Fri, Nov 23, 2012 at 03:03:24PM +0100, Alexander Graf wrote:
> 
> On 23.11.2012, at 15:01, Michael S. Tsirkin wrote:
> 
> > On Fri, Nov 23, 2012 at 02:44:15PM +0100, Alexander Graf wrote:
> >> 
> >> On 23.11.2012, at 14:44, Michael S. Tsirkin wrote:
> >> 
> >>> On Fri, Nov 23, 2012 at 11:59:51PM +1100, David Gibson wrote:
> >>>>> Look, even if solution using a required property is less elegant for CLI
> >>>>> use, it will work, won't it?
> >>>>> So how about we merge it so that things work, and then we can discuss a
> >>>>> patch on top that auto-generates this property?
> >>>> 
> >>>> Well, there you have a point.  And actually I've realised there are
> >>>> other things we need to assign uniquely for each PHB and don't yet (IO
> >>>> window addresses).  So I need to look at a wider rework of this, which
> >>>> I'll start on next week.
> >>> 
> >>> Fine. Basically my point is it's typically a mistake to
> >>> make some userspace visible parameter depend on order
> >>> of initialization of devices in qemu. I don't insist
> >>> on making users fully specify such parameters but it
> >>> is one way to do this.
> >> 
> >> I think it's reasonable to require to be able to specify it. If you
> >> don't, it's fine to base on device order IMHO.
> > 
> > Let me clarify why it's not fine.  My understanding is these addresses
> > do not change across reboots on real hardware.  On the other hand order
> > of initialization can change because of internal changes in qemu;
> > thus shut down and start guest under another qemu version
> > changes addresses.
> > 
> > So it's a bug. No?
> > 
> >> But you have to have the ability to specify it by hand if your
> >> management tool of choice actually wants reproducible results.
> >> 
> >> 
> >> Alex
> > 
> > How do you know whether your guest relies on reproducible results?
> > You typically don't. Imagine a guest which does rely on this. Then:
> > 
> > What I propose: user runs qemu with many PHBs but with no iobns, gets error
> > 'initialization failed. please add iobn=XXXX where XXXX is a unique
> > number 1 to 64K.'
> > 
> > What you propose: user runs qemu with many PHBs but with no iobns,
> > guest fails to boot or behaves incorrectly.
> > 
> > I think as a user I prefer the first type of failure. No?
> 
> I tend to disagree. The device creation logic should stay identical
> with the same versioned machine. So if I use -M pc-0.12, I am
> guaranteed that QEMU's internal semantics on which device goes where
> does not change.

This is exactly why you should not rely on device initialization
order for your address allocator - it is not guaranteed to
be consistent.

> For unstable machine types (which -M pseries is, same as -M pc), we
> don't guarantee that the guest view stays stable across version
> updates FWIW. So if we want to give the user a stable view of the
> world, we would need to create a -M pseries-1.3 which then would
> always keep the same device creation order.
> 
> It's the same for x86, no?
> 
> 
> Alex

Same for x86 in that we broke guests in the past by changing order,
and the lesson is to always require full specification if possible.
Only reason we keep pci slot allocation around is for
backward compatibility.

-- 
MST

  reply	other threads:[~2012-11-23 14:16 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
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 [this message]
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=20121123141855.GA9530@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).