Re: [PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-08 Thread Michal Hocko
Andrew, On Thu 09-11-17 13:35:53, Joonsoo Kim wrote: > On Wed, Nov 08, 2017 at 03:21:06PM +0100, Michal Hocko wrote: > > On Wed 08-11-17 16:59:56, Joonsoo Kim wrote: > > > On Tue, Nov 07, 2017 at 10:47:30AM +0100, Michal Hocko wrote: [...] > > > > I suspec this goes all the way down to when page_e

Re: [PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-08 Thread Joonsoo Kim
On Wed, Nov 08, 2017 at 03:21:06PM +0100, Michal Hocko wrote: > On Wed 08-11-17 16:59:56, Joonsoo Kim wrote: > > On Tue, Nov 07, 2017 at 10:47:30AM +0100, Michal Hocko wrote: > > > [CC Joonsoo] > > > > > > On Tue 07-11-17 18:41:31, Jaewon Kim wrote: > > > > online_page_ext and page_ext_init alloca

Re: [PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-08 Thread Michal Hocko
On Wed 08-11-17 16:59:56, Joonsoo Kim wrote: > On Tue, Nov 07, 2017 at 10:47:30AM +0100, Michal Hocko wrote: > > [CC Joonsoo] > > > > On Tue 07-11-17 18:41:31, Jaewon Kim wrote: > > > online_page_ext and page_ext_init allocate page_ext for each section, but > > > they do not allocate if the first

Re: [PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-07 Thread Joonsoo Kim
On Tue, Nov 07, 2017 at 10:47:30AM +0100, Michal Hocko wrote: > [CC Joonsoo] > > On Tue 07-11-17 18:41:31, Jaewon Kim wrote: > > online_page_ext and page_ext_init allocate page_ext for each section, but > > they do not allocate if the first PFN is !pfn_present(pfn) or > > !pfn_valid(pfn). Then sec

Re: [PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-07 Thread Michal Hocko
[CC Joonsoo] On Tue 07-11-17 18:41:31, Jaewon Kim wrote: > online_page_ext and page_ext_init allocate page_ext for each section, but > they do not allocate if the first PFN is !pfn_present(pfn) or > !pfn_valid(pfn). Then section->page_ext remains as NULL. lookup_page_ext > checks NULL only if CONF

[PATCH] mm: page_ext: check if page_ext is not prepared

2017-11-07 Thread Jaewon Kim
online_page_ext and page_ext_init allocate page_ext for each section, but they do not allocate if the first PFN is !pfn_present(pfn) or !pfn_valid(pfn). Then section->page_ext remains as NULL. lookup_page_ext checks NULL only if CONFIG_DEBUG_VM is enabled. For a valid PFN, __set_page_owner will try