Re: [PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-19 Thread Naoya Horiguchi
On Fri, Jun 15, 2018 at 11:57:33AM -0400, Pavel Tatashin wrote: > The role of zero_resv_unavail() is to make sure that every struct page that > is allocated but is not backed by memory that is accessible by kernel is > zeroed and not in some uninitialized state. > > Since struct pages are allocate

Re: [PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-15 Thread Pavel Tatashin
On Fri, Jun 15, 2018 at 5:48 PM Andrew Morton wrote: > > On Fri, 15 Jun 2018 11:57:33 -0400 Pavel Tatashin > wrote: > > > The role of zero_resv_unavail() is to make sure that every struct page that > > is allocated but is not backed by memory that is accessible by kernel is > > zeroed and not in

Re: [PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-15 Thread Andrew Morton
On Fri, 15 Jun 2018 11:57:33 -0400 Pavel Tatashin wrote: > The role of zero_resv_unavail() is to make sure that every struct page that > is allocated but is not backed by memory that is accessible by kernel is > zeroed and not in some uninitialized state. > > Since struct pages are allocated in

Re: [PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-15 Thread Pavel Tatashin
> Hi Pavel, > > Thanks for the patch. > This looks good to me. > > Reviewed-by: Oscar Salvador Thank you Oscar! Pavel

Re: [PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-15 Thread Oscar Salvador
On Fri, Jun 15, 2018 at 11:57:33AM -0400, Pavel Tatashin wrote: > The role of zero_resv_unavail() is to make sure that every struct page that > is allocated but is not backed by memory that is accessible by kernel is > zeroed and not in some uninitialized state. > > Since struct pages are allocate

[PATCH] mm: skip invalid pages block at a time in zero_resv_unresv

2018-06-15 Thread Pavel Tatashin
The role of zero_resv_unavail() is to make sure that every struct page that is allocated but is not backed by memory that is accessible by kernel is zeroed and not in some uninitialized state. Since struct pages are allocated in blocks (2M pages in x86 case), we can skip pageblock_nr_pages at a ti