On Wed, Jun 17, 2026 at 02:02:47PM +1000, Balbir Singh wrote: > On Wed, Jun 10, 2026 at 12:37:34PM -0400, Gregory Price wrote: > > On Wed, Jun 10, 2026 at 05:00:33PM +0200, David Hildenbrand (Arm) wrote: > > > On 6/10/26 12:41, Gregory Price wrote: > > > > On Wed, Jun 03, 2026 at 03:00:01PM +1000, Balbir Singh wrote: > > > > > > > > For mm/slub.c we can choose to do one of thwo things > > > > 1) 100% refuse slab allocations on private nodes, i.e.: > > > > kmalloc_node(..., private_nid, __GFP_THISNODE) > > > > And will fail (return NULL). > > > > Doesn't this iterate through N_MEMORY only? N_MEMORY_PRIVATE should not > be in the regular for_each(...) loops >
If a node is in neither FALLBACK nor NOFALLBACK - it is *completely* unreachable in the current page allocator. Next RFC I've reduced this to create a ZONELIST_PRIVATE separate from the ZONELIST_FALLBACK and ZONELIST_NOFALLBACK, and an explicit folio allocation interface that selects which fallback list to use. the feedback in the past week has been helpful in honing in on a solution that I think is generalizable. Have just been taking the time to test various behaviors to make sure I haven't been regressing any userland API/ABIs (mbind, mempolicy, etc). ~Gregory
