Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1710860

Re: [v6 02/15] x86/mm: setting fields in deferred pages

From Michal Hocko <mhocko@kernel.org>
Newsgroups linux.kernel
Subject Re: [v6 02/15] x86/mm: setting fields in deferred pages
Date 2017-08-14 13:50 +0200
Message-ID <uem2B-3DE-7@gated-at.bofh.it> (permalink)
References <ubX8m-5vB-5@gated-at.bofh.it> <ubX8m-5vB-23@gated-at.bofh.it> <ude78-1CC-7@gated-at.bofh.it> <udkme-5jx-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri 11-08-17 11:39:41, Pasha Tatashin wrote:
> >AFAIU register_page_bootmem_info_node is only about struct pages backing
> >pgdat, usemap and memmap. Those should be in reserved memblocks and we
> >do not initialize those at later times, they are not relevant to the
> >deferred initialization as your changelog suggests so the ordering with
> >get_page_bootmem shouldn't matter. Or am I missing something here?
> 
> The pages for pgdata, usemap, and memmap are part of reserved, and thus
> getting initialized when free_all_bootmem() is called.
> 
> So, we have something like this in mem_init()
> 
> register_page_bootmem_info
>  register_page_bootmem_info_node
>   get_page_bootmem
>    .. setting fields here ..
>    such as: page->freelist = (void *)type;
> 
> free_all_bootmem()
>  free_low_memory_core_early()
>   for_each_reserved_mem_region()
>    reserve_bootmem_region()
>     init_reserved_page() <- Only if this is deferred reserved page
>      __init_single_pfn()
>       __init_single_page()
>           memset(0) <-- Loose the set fields here!

OK, I have missed that part. Please make it explicit in the changelog.
It is quite easy to get lost in the deep call chains.
-- 
Michal Hocko
SUSE Labs

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [v6 02/15] x86/mm: setting fields in deferred pages Michal Hocko <mhocko@kernel.org> - 2017-08-14 13:50 +0200
  Re: [v6 02/15] x86/mm: setting fields in deferred pages Pasha Tatashin <pasha.tatashin@oracle.com> - 2017-08-14 15:40 +0200

csiph-web