All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger@xenproject.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH 08/15] x86/PVH: split pvh_setup_acpi()
Date: Wed, 14 Oct 2026 11:31:18 +0200	[thread overview]
Message-ID: <as9L5sT6SXfBWlkg@Mac.lan> (raw)
In-Reply-To: <f79d68c4-271b-44a9-950f-a6a85f4ea7ff@suse.com>

On Tue, Oct 13, 2026 at 06:04:37PM +0200, Jan Beulich wrote:
> On 13.10.2026 17:52, Roger Pau Monné wrote:
> > On Mon, Oct 12, 2026 at 10:23:16AM +0200, Jan Beulich wrote:
> >> All E820 manipulations want to happen before the initrd is placed, or else
> >> pvh_steal_ram() may steal from the tail part of it. As a second step,
> >> split placing ACPI data from actually populating it.
> > 
> > Would it be less intrusive to duplicate the memory map (like it's done
> > in a change ahead of this one), and subtract the kernel and initrd
> > region from that memory map, then use it as the basis for
> > pvh_steal_ram()?
> > 
> > We could adjust/replace pvh_add_mem_range() so it allows changing
> > regions from RAM to other types.  That would seem to be less churn
> > overall.  Maybe you did already consider this and found further
> > problem with this approach that I'm failing to see?
> 
> No, I didn't try that route. In fact despite the order now this patch
> (and maybe also the VMX one) pre-dates the E820-copying one. The one
> aspect I consider problematic with the suggested alternative is that
> then two E820 maps need updating: The one with kernel (not sure about
> initrd; see below) subtracted out, and the one we actually mean to hand
> to Dom0.
> 
> As to overall churn: I'm not sure which one would cause less. Certainly
> the patch here would remain largely unaltered, as the splitting is
> going to be necessary no matter what.

I'm possibly missing something, but the splitting won't be strictly
necessary?

We could do:

 * Populate p2m
 * Place kernel
 * Place ACPI (also VMX metadata)
 * Place initrd

There's no need to split the ACPI between allocation and placement,
and we could place the kernel just after having populated the p2m.
However we then need to keep a separated memory map (or rangeset?) to
signal available memory in the p2m.  It would require changes to
pvh_steal_ram() and pvh_add_mem_range(), won't won't require splitting
ACPI allocation vs loading.

We would also need to split the VMX stuff out of pvh_populate_p2m(),
but that doesn't seem overly complicated; the logic is already
isolated at the tail of the function.

Thanks, Roger.


  reply	other threads:[~2026-10-14  9:31 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-12  8:17 [PATCH 00/15] x86: PVH Dom0 loading rework Jan Beulich
2026-10-12  8:19 ` [PATCH 01/15] x86/EFI: guard against oversized modules Jan Beulich
2026-10-12 10:12   ` George Dunlap
2026-10-12  8:19 ` [PATCH 02/15] x86/PV: make better use of assign_pages() Jan Beulich
2026-10-12 10:16   ` George Dunlap
2026-10-12  8:20 ` [PATCH 03/15] x86/setup: break out E820_RAM accumulation Jan Beulich
2026-10-12 10:20   ` George Dunlap
2026-10-12 10:23     ` Jan Beulich
2026-10-12 11:24       ` George Dunlap
2026-10-13 11:05   ` Roger Pau Monné
2026-10-13 11:39     ` Jan Beulich
2026-10-12  8:20 ` [PATCH 04/15] x86/setup: special treatment of initrd for PVH Dom0 Jan Beulich
2026-10-12 11:23   ` George Dunlap
2026-10-12 11:51     ` Jan Beulich
2026-10-12 18:58       ` George Dunlap
2026-10-12  8:21 ` [PATCH 05/15] x86/PVH: split pvh_load_kernel() Jan Beulich
2026-10-13  6:45   ` Teddy Astie
2026-10-12  8:21 ` [PATCH 06/15] x86/PVH: keep a copy of Dom0's initial E820 map Jan Beulich
2026-10-13  6:57   ` Teddy Astie
2026-10-13  7:56     ` Jan Beulich
2026-10-13 13:48   ` Roger Pau Monné
2026-10-13 14:53     ` Jan Beulich
2026-10-13 15:08       ` Roger Pau Monné
2026-10-12  8:22 ` [PATCH 07/15] x86/PVH: lift E820 alignment requirement Jan Beulich
2026-10-13 14:59   ` Roger Pau Monné
2026-10-13 15:13     ` Jan Beulich
2026-10-12  8:23 ` [PATCH 08/15] x86/PVH: split pvh_setup_acpi() Jan Beulich
2026-10-13 15:52   ` Roger Pau Monné
2026-10-13 16:04     ` Jan Beulich
2026-10-14  9:31       ` Roger Pau Monné [this message]
2026-10-14  9:42         ` Jan Beulich
2026-10-15 15:05           ` Roger Pau Monné
2026-10-12  8:24 ` [PATCH 09/15] x86/PVH: split pvh_setup_vmx_realmode_helpers() Jan Beulich
2026-10-14  9:38   ` Roger Pau Monné
2026-10-14  9:49     ` Jan Beulich
2026-10-12  8:24 ` [PATCH 10/15] x86/PVH: convert find_memory() to using a rangeset Jan Beulich
2026-10-15 15:20   ` Roger Pau Monné
2026-10-12  8:25 ` [PATCH 11/15] x86/PVH: try to map initrd directly into Dom0 Jan Beulich
2026-10-12  8:25 ` [PATCH 12/15] x86/PVH: heed the kernel in pvh_steal_ram() Jan Beulich
2026-10-12  8:26 ` [PATCH 13/15] x86/PVH: prefer smaller E820 regions for stealing from Jan Beulich
2026-10-12  8:26 ` [PATCH 14/15] x86/PVH: log Dom0's E820 map earlier Jan Beulich
2026-10-12  8:26 ` [PATCH 15/15] x86/PVH: simplify writing of Dom0's RSDP Jan Beulich
2026-10-12  8:29 ` [PATCH 00/15] x86: PVH Dom0 loading rework Jan Beulich

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=as9L5sT6SXfBWlkg@Mac.lan \
    --to=roger@xenproject.org \
    --cc=andrew.cooper3@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=teddy.astie@vates.tech \
    --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.