|
| From: | Michael Tokarev |
| Subject: | Re: [PATCH v1 1/1] hw/pci: Disable PCI_ERR_UNCOR_MASK register for machine type < 8.0 |
| Date: | Thu, 18 May 2023 10:34:36 +0300 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 |
11.05.2023 11:40, Juan Quintela wrote:
Fiona Ebner <f.ebner@proxmox.com> wrote:
...
Closes: https://gitlab.com/qemu-project/qemu/-/issues/1576 AFAICT, this breaks (forward) migration from 8.0 to 8.0 + this patch when using machine type <= 7.2. That is because after this patch, when using machine type <= 7.2, the wmask for the register is not set and when 8.0 sends a nonzero value for the register, the error condition in get_pci_config_device() will trigger again.I think that works correctly. See https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg02733.html What we have (before this patch) (using abbrevs as in the doc before) Current state: (1) qemu-8.0 -M pc-8.0 -> qemu-8.0 -M pc-8.0 works not affected by the patch (2) qemu-7.2 -M pc-7.2 -> qemu-8.0 -M pc-8.0 works works well because 7.2 don't change that field (3) qemu-8.0 -M pc-7.2 -> qemu-7.2 -M pc-7.2 fails With the patch we fixed 3, so once it is in stable, 1 and 2 continue as usual and for (3) we will have: (3) qemu-8.0.1 -M pc-7.2 -> qemu-7.2 -M pc-7.2 works If what you mean is that: (3) qemu-8.0 -M pc-7.2 -> qemu-8.0.1 -M pc-7.2 works Will fail, that is true, but I can think a "sane" way to fix this.
That's a great summary indeed.
Is it necessary to also handle that? Maybe by special casing the error condition in get_pci_config_device() to be prepared to accept such a stream from 8.0?Well, we can do that, but it is to the pci maintainers to decide if that is "sane".
So, can we go from here somewhere? I'd love this fix to be in 8.0.1, either with or without the (un)sane part of the (3) variant above which might fail. Or else we'll have the same situation in 8.0.1 as we now have in 8.0.0 (the deadline is May-27). We did broke x.y.0 => x.y.1 migration before already like this, such as with 7.2.0=>7.2.1. I'm not saying it's a nice thing to do, just stating a fact. Yes, it is better to avoid such breakage, but.. meh.. Thanks! /mjt
| [Prev in Thread] | Current Thread | [Next in Thread] |