On Tue, Jul 09, 2024 at 02:36:08AM +0000, Wei Yang wrote: > Since we plan to move the accounting into __free_pages_core(), > totalram_pages may not represent the total usable pages on system > at this point when defer_init is enabled. > > Instead we can get the total estimated pages from memblock directly. > > Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> > CC: Mike Rapoport (IBM) <rppt@xxxxxxxxxx> > CC: David Hildenbrand <david@xxxxxxxxxx> > CC: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Mike Rapoport <rppt@xxxxxxxxxx> > --- > kernel/fork.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/kernel/fork.c b/kernel/fork.c > index 279efadabbf2..d6c2a4ccd532 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -44,6 +44,7 @@ > #include <linux/fs.h> > #include <linux/mm.h> > #include <linux/mm_inline.h> > +#include <linux/memblock.h> > #include <linux/nsproxy.h> > #include <linux/capability.h> > #include <linux/cpu.h> > @@ -999,7 +1000,7 @@ void __init __weak arch_task_cache_init(void) { } > static void set_max_threads(unsigned int max_threads_suggested) > { > u64 threads; > - unsigned long nr_pages = totalram_pages(); > + unsigned long nr_pages = memblock_estimated_nr_free_pages(); > > /* > * The number of threads shall be limited such that the thread > -- > 2.34.1 > -- Sincerely yours, Mike.