Message ID | 20240709023609.21332-2-richard.weiyang@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v5,1/3] mm/memblock: introduce a new helper memblock_estimated_nr_free_pages() | expand |
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@gmail.com> > CC: Mike Rapoport (IBM) <rppt@kernel.org> > CC: David Hildenbrand <david@redhat.com> > CC: Oleg Nesterov <oleg@redhat.com> Acked-by: Mike Rapoport <rppt@kernel.org> > --- > 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 >
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
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@gmail.com> CC: Mike Rapoport (IBM) <rppt@kernel.org> CC: David Hildenbrand <david@redhat.com> CC: Oleg Nesterov <oleg@redhat.com> --- kernel/fork.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)