From: Michal Hocko <mhocko@suse.com>
To: Hannes Reinecke <hare@suse.de>
Cc: David Hildenbrand <david@redhat.com>,
Oscar Salvador <osalvador@suse.de>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Hannes Reinecke <hare@kernel.org>
Subject: Re: [RFC] Disable auto_movable_ratio for selfhosted memmap
Date: Tue, 29 Jul 2025 13:58:34 +0200 [thread overview]
Message-ID: <aIi3ao2PV8GrYtRA@tiehlicka> (raw)
In-Reply-To: <41526d97-b3bc-423b-87f4-7e0ec6cd8292@suse.de>
On Tue 29-07-25 11:33:58, Hannes Reinecke wrote:
> On 7/29/25 11:19, Michal Hocko wrote:
> > On Tue 29-07-25 09:24:37, Hannes Reinecke wrote:
> > > On 7/28/25 15:08, David Hildenbrand wrote:
> > > > On 28.07.25 15:06, Michal Hocko wrote:
> > > > > On Mon 28-07-25 11:37:46, Hannes Reinecke wrote:
> > > > > > On 7/28/25 11:10, David Hildenbrand wrote:
> > > > > > And to make matters worse, we have two competing user-space programs:
> > > > > > - udev
> > > > > > - daxctl
> > > > > > neither of which is (or can be made) aware of each other.
> > > > > > This leads to races and/or inconsistencies.
> > > > >
> > > > > Would it help if generic udev memory hotplug rule exclude anything that
> > > > > is dax backed? Is there a way to check for that? Sorry if this is a
> > > > > stupid question.
> > > > Parsing /proc/iomem, it's indicated as "System RAM (kmem)".
> > > >
> > > I would rather do it the other way round, and make daxctl aware of
> > > udev. In the end, even 'daxctl' uses the sysfs interface to online
> > > memory, which really is the territory of udev and can easily be
> > > done via udev rules (for static configuration).
> >
> > udev doesn't really have any context what user space wants to do with
> > the memory and therefore how to online it. Therefore we have (arguably)
> > ugly hacks like auto onlining and movable_ration etc. daxctl can take
> > information from the admin directly and therfore it can do what is
> > needed without further hacks.
> >
> Huh?
> I thought udev was _all_ about userspace preferences...
> We can easily have udev rules onlining memory with whatever policy
> the user want; the whole point of udev rules is that they are dynamic
> and can include policy decisions.
My experience with memory hotplug and udev doesn't match that. Udev
sees memory blocks showing up rather than understanding any concept of
what is the memory behind that. So any actual policy is rather hard to
define. You would need to backtrack what kind of memory blocks you are
seeing and what the initiator could have intended with them.
While this could work reasonably for regular RAM appearing to your
system asynchronously (e.g. physical memory plugged in or virtual system
getting more memory) when you always want to online it in a certain way
I suspect this falls short for synchronous daxctl like usecase where you
know what to do with that memory and you can operate on sysfs directly.
Udev just makes the life much more complicated for the later IMO.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2025-07-29 11:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-28 8:15 Oscar Salvador
2025-07-28 8:44 ` David Hildenbrand
2025-07-28 9:28 ` Hannes Reinecke
2025-07-28 9:42 ` David Hildenbrand
2025-07-28 8:48 ` Michal Hocko
2025-07-28 8:53 ` David Hildenbrand
2025-07-28 9:04 ` Michal Hocko
2025-07-28 9:10 ` David Hildenbrand
2025-07-28 9:37 ` Hannes Reinecke
2025-07-28 13:06 ` Michal Hocko
2025-07-28 13:08 ` David Hildenbrand
2025-07-29 7:24 ` Hannes Reinecke
2025-07-29 9:19 ` Michal Hocko
2025-07-29 9:29 ` David Hildenbrand
2025-07-29 9:33 ` Hannes Reinecke
2025-07-29 11:58 ` Michal Hocko [this message]
2025-07-29 13:52 ` Hannes Reinecke
2025-07-28 15:15 ` David Hildenbrand
2025-07-28 12:17 ` Michal Hocko
2025-07-28 12:27 ` David Hildenbrand
2025-07-28 12:27 ` David Hildenbrand
2025-07-28 13:00 ` Michal Hocko
2025-07-28 13:03 ` David Hildenbrand
2025-07-28 12:54 ` Michal Hocko
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=aIi3ao2PV8GrYtRA@tiehlicka \
--to=mhocko@suse.com \
--cc=david@redhat.com \
--cc=hare@kernel.org \
--cc=hare@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=osalvador@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox