On Wed, Jan 25, 2023 at 1:23 PM Dan Williams <dan.j.williams@xxxxxxxxx> 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: <stable@xxxxxxxxxxxxxxx> > Cc: Alexander Potapenko <glider@xxxxxxxxxx> > Cc: Marco Elver <elver@xxxxxxxxxx> > Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Thanks -- that BUILD_BUG_ON() has been a nuisance for some of my debug configs. Acked-by: Yu Zhao <yuzhao@xxxxxxxxxx>