From: Shyam Saini <shyamsaini@linux.microsoft.com>
To: shyamsaini@linux.microsoft.com, ardb@kernel.org,
catalin.marinas@arm.com, david@kernel.org,
linux-arm-kernel@lists.infradead.org, will@kernel.org
Cc: akpm@linux-foundation.org, bboscaccy@linux.microsoft.com,
bp@alien8.de, dapeng1.mi@linux.intel.com, ebiggers@kernel.org,
elver@google.com, enelsonmoore@gmail.com,
feng.tang@linux.alibaba.com, gpiccoli@igalia.com,
kees@kernel.org, kuba@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
lirongqing@baidu.com, peterz@infradead.org,
rdunlap@infradead.org, rppt@kernel.org,
tgopinath@linux.microsoft.com, tony.luck@intel.com
Subject: Re: [RFC v2 PATCH] reserve_mem: add support for static memory
Date: Tue, 30 Jun 2026 10:09:11 -0700 [thread overview]
Message-ID: <20260630170911.43521-1-shyamsaini@linux.microsoft.com> (raw)
In-Reply-To: <aj6SqipC/dIN01iN@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
Hi Everyone,
> On 25 Jun 2026 11:37, Mike Rapoport wrote:
> > Hi Shyam,
> >
> > On Wed, Jun 24, 2026 at 06:22:33PM -0700, Shyam Saini wrote:
> > > On 21 Jun 2026 13:36, Mike Rapoport wrote:
> > > > On Thu, Jun 18, 2026 at 11:23:31PM -0700, Shyam Saini wrote:
> > > > > reserve_mem relies on dynamic memory allocation, this limits the
> > > > > usecase where memory is required to be preserved across the boots.
> > > > > Eg: ramoops memory reservation on ACPI platforms
> > > > >
> > > > > So add support to pass a pre-determined static address and reserve
> > > > > memory at a specified location. This enables use case like ramoops
> > > > > on ACPI platforms to reliably access ramoops region with previous
> > > > > boot logs.
> > > > >
> > > > > Also skip the parsing of <align> when static address is passed.
> > > > >
> > > > > Example syntax for static address
> > > > > reserve_mem=4M@0x1E0000000:oops
> > > >
> > > > reserve_mem is best effort by design because such hacks as well as memmap=
> > > > cannot guarantee this memory is actually free.
> > > >
> > > > If you want to preserve ramoops reliably, use KHO with reserve_mem.
> > > > The first kernel will allocate memory, this memory will be preserved by KHO
> > > > and could be picked up by the second kernel.
> > >
> > > ok, On ARM64 DTS systems, we can reserve ramoops memory in the device tree during
> > > the warm reboot.
> >
> > The cc list actually implied x86 ;-)
> > Added arm64 folks now.
>
> Thanks for adding ARM folks, I had just included whatever get_maintainer script
> suggested, sorry.
> > > For an equivalent ARM64 ACPI platform, what is the recommended way to reserve
> > > and preserve that memory across the boots?
> >
> > I don't think it exists, but a command line option (be it memmap= or
> > reserve_mem=) does not seem the right way to me.
> >
> > Most of the arguments that were made against adding memmap= to arm64 [1]
> > apply here.
> >
> > If kexec is an option, KHO provides a reliable way to preserve memory
> > across boots.
> >
> > If kexec is not an option, we should look for a generic way to specify
> > something like DT's reserved_mem for ACPI/EFI systems.
> >
> > [1] https://lkml.kernel.org/lkml/20201118063314.22940-1-song.bao.hua@hisilicon.com/T/
> >
> Well, kexec is one of the option for my use case, it also requires
> memory reservation during warm reboot, I think memory can be reserved in
> the firmware but this will create a dependency on firmware for Linux
> reservation.
>
> It would be great to have a in kernel memory reservation mechanism for
> ARM64 ACPI platforms. I believe some other use cases like PMEM
> reservation would also benefit from this.
>
Following up on this, As Mike pointed that reserve_mem is best effort
reservation mechanism, so what is the recommended reliable Linux
mechanism, if any, to reserve a predetermined memory range during
early boot on ARM64/ACPI platforms for warm boot scenarios? KHO is
one option, but I'm specifically looking for a solution that preserves
the region across warm reboots.
Please let me know.
Thanks,
Shyam
next prev parent reply other threads:[~2026-06-30 17:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-19 6:23 [RFC v2 PATCH] reserve_mem: add support for static memory Shyam Saini
2026-06-19 18:35 ` Randy Dunlap
2026-06-25 1:09 ` Shyam Saini
2026-06-21 10:36 ` Mike Rapoport
2026-06-25 1:22 ` Shyam Saini
2026-06-25 8:37 ` Mike Rapoport
2026-06-26 14:54 ` Shyam Saini
2026-06-30 17:09 ` Shyam Saini [this message]
2026-07-08 10:00 ` Catalin Marinas
2026-07-09 0:37 ` Shyam Saini
2026-07-09 10:26 ` Sudeep Holla
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=20260630170911.43521-1-shyamsaini@linux.microsoft.com \
--to=shyamsaini@linux.microsoft.com \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=bboscaccy@linux.microsoft.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dapeng1.mi@linux.intel.com \
--cc=david@kernel.org \
--cc=ebiggers@kernel.org \
--cc=elver@google.com \
--cc=enelsonmoore@gmail.com \
--cc=feng.tang@linux.alibaba.com \
--cc=gpiccoli@igalia.com \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lirongqing@baidu.com \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=rppt@kernel.org \
--cc=tgopinath@linux.microsoft.com \
--cc=tony.luck@intel.com \
--cc=will@kernel.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.