All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre Morel <pmorel@linux.ibm.com>
To: Matthew Rosato <mjrosato@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>
Cc: farman@linux.ibm.com, David Hildenbrand <david@redhat.com>,
	cohuck@redhat.com, richard.henderson@linaro.org,
	qemu-devel@nongnu.org, qemu-s390x@nongnu.org, thuth@redhat.com,
	borntraeger@linux.ibm.com
Subject: Re: [PATCH 1/4] s390x/pci: use a reserved ID for the default PCI group
Date: Fri, 3 Dec 2021 10:07:03 +0100	[thread overview]
Message-ID: <bd95495c-a950-5812-22bb-5509db537f54@linux.ibm.com> (raw)
In-Reply-To: <bd39e782-0348-cf93-0d4e-0b1c0fc8cb8b@linux.ibm.com>



On 12/3/21 03:25, Matthew Rosato wrote:
> On 12/2/21 6:06 PM, Halil Pasic wrote:
>> On Thu, 2 Dec 2021 12:11:38 -0500
>> Matthew Rosato <mjrosato@linux.ibm.com> wrote:
>>
>>>>
>>>> What happens if we migrate a VM from old to new QEMU? Won't the 
>>>> guest be
>>>> able to observe the change?
>>>
>>> Yes, technically --  But # itself is not really all that important, it
>>> is provided from CLP Q PCI FN to be subsequently used as input into Q
>>> PCI FNGRP -- With the fundamental notion being that all functions that
>>> share the same group # share the same group CLP info.  Whether the
>>> number is, say, 1 or 5 doesn't matter so much.
>>>
>>> However..  0xF0 and greater are the only values reserved for hypervisor
>>> use.  By using 0x20 we run the risk of accidentally conflating simulated
>>> devices and real hardware, hence the desire to change it.
>>>
>>> Is your concern about a migrated guest with a virtio device trying to do
>>> a CLP QUERY PCI FNGRP using 0x20 on a new QEMU?  I suppose we could
>>> modify 'clp_service_call, case CLP_QUERY_PCI_FNGRP' to silently catch
>>> simulated devices trying to use something other than the default group,
>>> e.g.:
>>>
>>> if ((pbdev->fh & FH_SHM_EMUL) &&
>>>       (pbdev->zpci_fn.pfgid != ZPCI_DEFAULT_FN_GRP)) {
>>>           /* Simulated device MUST have default group */
>>>     pbdev->zpci_fn.pfgid = ZPCI_DEFAULT_FN_GRP;
>>>     group = s390_group_find(ZPCI_DEFAULT_FN_GRP);
>>> }
>>>
>>> What do you think?
>>
>> Another option, and in my opinion the cleaner one would be to tie this
>> change to a new machine version. That is if a post-change qemu is used
>> in compatibility mode, we would still have the old behavior.
>>
>> What do you think?
>>
> 
> The problem there is that the old behavior goes against the architecture 
> (group 0x20 could belong to real hardware) and AFAIU assigning this new 
> behavior only to a new machine version means we can't fix old stable 
> QEMU versions.
> 
> Also, wait a minute -- migration isn't even an option right now, it's 
> blocked for zpci devices, both passthrough and simulated (see 
> aede5d5dfc5f 's390x/pci: mark zpci devices as unmigratable') so I say 
> let's just move to a proper default group now before we potentially 
> allow migration later.

Looks right to me.

-- 
Pierre Morel
IBM Lab Boeblingen


  reply	other threads:[~2021-12-03  9:11 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-02 16:41 [PATCH 0/4] s390x/pci: some small fixes Matthew Rosato
2021-12-02 16:41 ` [PATCH 1/4] s390x/pci: use a reserved ID for the default PCI group Matthew Rosato
2021-12-02 16:43   ` David Hildenbrand
2021-12-02 17:11     ` Matthew Rosato
2021-12-02 21:55       ` David Hildenbrand
2021-12-02 23:06       ` Halil Pasic
2021-12-03  2:25         ` Matthew Rosato
2021-12-03  9:07           ` Pierre Morel [this message]
2021-12-03 18:21           ` David Hildenbrand
2021-12-02 21:27   ` Eric Farman
2021-12-03  9:24   ` Pierre Morel
2021-12-02 16:41 ` [PATCH 2/4] s390x/pci: don't use hard-coded dma range in reg_ioat Matthew Rosato
2021-12-02 21:27   ` Eric Farman
2021-12-03  9:17   ` Pierre Morel
2021-12-02 16:41 ` [PATCH 3/4] s390x/pci: use the passthrough measurement update interval Matthew Rosato
2021-12-02 21:30   ` Eric Farman
2021-12-03  9:17   ` Pierre Morel
2021-12-02 16:41 ` [PATCH 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
2021-12-02 21:40   ` Eric Farman
2021-12-03  9:33   ` Pierre Morel
2021-12-03 12:03     ` Matthew Rosato
2021-12-03 12:06   ` Matthew Rosato

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=bd95495c-a950-5812-22bb-5509db537f54@linux.ibm.com \
    --to=pmorel@linux.ibm.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@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 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.