On Wed, Feb 25, 2026 at 12:40:09PM +0000, Alejandro Lucero Palau wrote:
quoted
/* This is my memory. There are many like it, but this one is mine. */
rc = add_private_memory_driver_managed(nid, start, size, name, flags,
online_type, private_context);
page = alloc_pages_node(nid, __GFP_PRIVATE, 0);
Hi Gregory,
I can see the nid param is just a "preferred nid" with alloc pages. Using
__GFP_PRIVATE will restrict the allocation to private nodes but I think the
idea here is:
1) I own this node
2) Do not give me memory from another private node but from mine.
Should not this be ensure somehow?
A right I set up GFP_PRIVATE for this
#define GFP_PRIVATE (__GFP_PRIVATE | __GFP_THISNODE)
If your service hides the interface to get to this node behind something
it controls, and it doesn't enable things like reclaim/compaction etc,
then it's responsible for dealing with an out-of-memory situation.
__THISNODE was insufficient alone to allow isolation since it is used in
a variety of scenarios around the kernel. v2 or v3 explored that.
~Gregory