All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabiano Rosas <farosas@suse.de>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: qemu-devel@nongnu.org, Peter Xu <peterx@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [RFC PATCH] tests/qtest/migration: Add cpu hotplug test
Date: Tue, 14 Jan 2025 11:15:30 -0300	[thread overview]
Message-ID: <8734hlh471.fsf@suse.de> (raw)
In-Reply-To: <CAJSP0QWe+0_rjchH0hCszU-4r_PF+ZgZgWb+cgg6UZzZiYeTQA@mail.gmail.com>

Stefan Hajnoczi <stefanha@gmail.com> writes:

> On Mon, 13 Jan 2025 at 16:09, Fabiano Rosas <farosas@suse.de> wrote:
>>
>> Bug #2594 is about a failure during migration after a cpu hotplug. Add
>> a test that covers that scenario. Start the source with -smp 2 and
>> destination with -smp 3, plug one extra cpu to match and migrate.
>>
>> The issue seems to be a mismatch in the number of virtqueues between
>> the source and destination due to the hotplug not changing the
>> num_queues:
>>
>>   get_pci_config_device: Bad config data: i=0x9a read: 4 device: 5
>>   cmask: ff wmask: 0 w1cmask:0
>>
>> Usage:
>> $ QTEST_QEMU_IMG=./qemu-img QTEST_QEMU_BINARY=./qemu-system-x86_64 \
>>   ./tests/qtest/migration-test -p /x86_64/migration/hotplug/cpu
>>
>> References: https://gitlab.com/qemu-project/qemu/-/issues/2594
>> References: https://issues.redhat.com/browse/RHEL-68302
>> Signed-off-by: Fabiano Rosas <farosas@suse.de>
>> ---
>> As you can see there's no fix attached to this. I haven't reached that
>> part yet, suggestions welcome =). Posting the test case if anyone
>> wants to play with this.
>>
>> (if someone at RH is already working on this, that's fine. I'm just
>> trying to get some upstream bugs to move)
>
> The management tool should set num_queues on the destination to ensure
> migration compatibility.
>

I'm not sure that's feasible. The default num-queues seem like an
implementation detail that the management application would not have a
way to query. Unless it starts the source with a fixed number that
already accounts for all hotplug/unplug operations during the VM
lifetime, which would be wasteful in terms of resources allocated
upfront.

That would also make the destination run with a suboptimal (< #vcpus)
number of queues, although that's already the case in the source after
the hotplug. Do we have any definition on what should happen durgin
hotplug? If one plugs 100 vcpus, should num-queues remain as 2?



  reply	other threads:[~2025-01-14 14:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-13 21:08 [RFC PATCH] tests/qtest/migration: Add cpu hotplug test Fabiano Rosas
2025-01-14 13:44 ` Stefan Hajnoczi
2025-01-14 14:15   ` Fabiano Rosas [this message]
2025-01-14 19:28     ` Stefan Hajnoczi
2025-01-14 20:15       ` Peter Xu
2025-01-14 21:14         ` Stefan Hajnoczi
2025-01-14 21:52           ` Peter Xu
2025-01-15 10:24 ` Igor Mammedov
2025-01-15 12:53   ` Fabiano Rosas

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=8734hlh471.fsf@suse.de \
    --to=farosas@suse.de \
    --cc=mst@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@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.