On Wed, Jan 25, 2023 at 1:23 PM Dan Williams <[email protected]> wrote: > > Commit 6e9f05dc66f9 ("libnvdimm/pfn_dev: increase MAX_STRUCT_PAGE_SIZE") > > ...updated MAX_STRUCT_PAGE_SIZE to account for sizeof(struct page) > potentially doubling in the case of CONFIG_KMSAN=y. Unfortunately this > doubles the amount of capacity stolen from user addressable capacity for > everyone, regardless of whether they are using the debug option. Revert > that change, mandate that MAX_STRUCT_PAGE_SIZE never exceed 64, but > allow for debug scenarios to proceed with creating debug sized page maps > with a compile option to support debug scenarios. > > Note that this only applies to cases where the page map is permanent, > i.e. stored in a reservation of the pmem itself ("--map=dev" in "ndctl > create-namespace" terms). For the "--map=mem" case, since the allocation > is ephemeral for the lifespan of the namespace, there are no explicit > restriction. However, the implicit restriction, of having enough > available "System RAM" to store the page map for the typically large > pmem, still applies. > > Fixes: 6e9f05dc66f9 ("libnvdimm/pfn_dev: increase MAX_STRUCT_PAGE_SIZE") > Cc: <[email protected]> > Cc: Alexander Potapenko <[email protected]> > Cc: Marco Elver <[email protected]> > Reported-by: Jeff Moyer <[email protected]>
Thanks -- that BUILD_BUG_ON() has been a nuisance for some of my debug configs. Acked-by: Yu Zhao <[email protected]>

