All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: "Julian Vetter" <julian.vetter@vates.tech>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Roger Pau Monné" <roger@xenproject.org>,
	"Michal Orzel" <michal.orzel@amd.com>,
	"Julien Grall" <julien@xen.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 0/3] Support multiple ioreq pages
Date: Fri, 4 Sep 2026 10:24:39 +0200	[thread overview]
Message-ID: <98ea7e14-4787-43a2-81ef-a65493e3cd92@suse.com> (raw)
In-Reply-To: <1788509352.8631fc262581453bbf619ec5b2062170.1a06b76f0aa000c4f3@vates.tech>

On 04.09.2026 10:09, Anthony PERARD wrote:
> On Tue, Aug 18, 2026 at 04:08:04PM +0200, Jan Beulich wrote:
>> On 20.04.2026 11:38, Julian Vetter wrote:
>>> Julian Vetter (3):
>>>   ioreq: switch ioreq page allocation to vmap
>>>   ioreq: Indent ioreq_server_alloc_mfn() body one level deeper
>>>   x86/ioreq: Extend ioreq server to support multiple ioreq pages
>>>
>>>  xen/arch/x86/hvm/ioreq.c |  63 ++++++++++++++++---
>>>  xen/common/ioreq.c       | 127 ++++++++++++++++++++++++++-------------
>>>  xen/include/xen/ioreq.h  |  13 +++-
>>>  3 files changed, 151 insertions(+), 52 deletions(-)
>>
>> For (future) reference, in case it wasn't said earlier:
>>
>> To be able to test this, at least the last patch here will want to wait
>> until the apic_id == vcpu_id * 2 issue was addressed. Andrew said he'd pick
>> up Alejandro's work there, thus - once finished - permitting up to 255
>> vCPU-s (i.e. requiring 2 IOREQ pages).
>>
>> Once (really: before) we grow the number of vCPU-s for HVM, we need to
>> revisit the amount of VA space set aside for vmap(). For many years we've
>> been adding new uses of vmap() without making sure its reserved range is
>> still adequately sized.
>>
>> Since multi-page functionality added here will also need qemu changes, and
>> since we did determine (elsewhere) that ioreq_t needs to grow as well, it
>> remains to be decided whether the two changes wouldn't better be done
>> together, to keep the qemu backwards compatibility logic somewhat limited
>> in size / complexity. Anthony (in particular) - thoughts?
> 
> Put like that, how can I say "no" to merge both changes together :-)
> 
> It will certainly be simpler to maintain if having one feature mean also
> having the other. But it kind of depends on whether both changes are
> ready to go in at around the same time. I don't really know how the
> changes in QEMU will look like, and how QEMU will choose or have a
> choice of which feature to use, and it might be one that can be
> negotiated as runtime and the other one been a compile time change (as I
> think QEMU still depends on unstable ABI).
> 
> But it looks like both changes in QEMU are for having more vCPU, so
> having both at the same time might be better.

Growing ioreq_t (in particular the data size it can hold) doesn't have
anything to do with increased vCPU count, I think.

> So yes, I'm all for less complexity, but I can't ask for this to be a
> blocker, especially if the other change might takes years. So far, I
> don't think I've seen any patches for QEMU.

How exactly a new ioreq_t would want to look like remains to be discussed.
Perhaps we could go an intermediate route here: Add provisions (e.g. a
full page per vCPU, plus a format identifier at the start of that page),
allowing the enlarged ioreq_t to be put on top, yet without needing any
(further) changes to the map/unmap logic?

Jan


      reply	other threads:[~2026-09-04  8:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-20  9:38 [PATCH v6 0/3] Support multiple ioreq pages Julian Vetter
2026-04-20  9:38 ` [PATCH v6 2/3] ioreq: Indent ioreq_server_alloc_mfn() body one level deeper Julian Vetter
2026-08-18 13:11   ` Jan Beulich
2026-04-20  9:38 ` [PATCH v6 1/3] ioreq: switch ioreq page allocation to vmap Julian Vetter
2026-08-18 13:06   ` Jan Beulich
2026-08-25 14:19     ` Julian Vetter
2026-08-25 14:43       ` Jan Beulich
2026-08-26  8:33       ` George Dunlap
2026-04-20  9:38 ` [PATCH v6 3/3] x86/ioreq: Extend ioreq server to support multiple ioreq pages Julian Vetter
2026-04-20 12:49   ` Teddy Astie
2026-04-20 13:38     ` Jan Beulich
2026-08-18 13:57   ` Jan Beulich
2026-04-20 10:05 ` [PATCH v6 0/3] Support " Jan Beulich
2026-08-18 14:08 ` Jan Beulich
2026-09-04  8:09   ` Anthony PERARD
2026-09-04  8:24     ` Jan Beulich [this message]

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=98ea7e14-4787-43a2-81ef-a65493e3cd92@suse.com \
    --to=jbeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@vates.tech \
    --cc=julian.vetter@vates.tech \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=roger@xenproject.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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 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.