Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-02-13 Thread Mike Kravetz
On 1/26/21 6:10 PM, Jason Gunthorpe wrote: > On Tue, Jan 26, 2021 at 05:58:53PM -0800, Mike Kravetz wrote: > >> As pointed out by Joao, you can also see the differences in pfn_to_page >> for CONFIG_SPARSE_VMEMMAP and CONFIG_SPARSEMEM. The only time we might >> have issues is with CONFIG_SPARSEMEM

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Zi Yan
On 26 Jan 2021, at 21:24, Matthew Wilcox wrote: > On Tue, Jan 26, 2021 at 08:07:30PM -0400, Jason Gunthorpe wrote: >> I'm looking at Matt's folio patches and see: >> >> +static inline struct folio *next_folio(struct folio *folio) >> +{ >> + return folio + folio_nr_pages(folio); >> +} > > Thi

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Joao Martins
On 1/26/21 6:08 PM, Mike Kravetz wrote: > On 1/25/21 12:57 PM, Joao Martins wrote: >> For a given hugepage backing a VA, there's a rather ineficient >> loop which is solely responsible for storing subpages in the passed >> pages/vmas array. For each subpage we check whether it's within >> range or

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Mike Kravetz
On 1/26/21 11:21 AM, Joao Martins wrote: > On 1/26/21 6:08 PM, Mike Kravetz wrote: >> On 1/25/21 12:57 PM, Joao Martins wrote: >>> >>> +static void record_subpages_vmas(struct page *page, struct vm_area_struct >>> *vma, >>> +int refs, struct page **pages, >>> +

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Mike Kravetz
On 1/26/21 4:07 PM, Jason Gunthorpe wrote: > On Tue, Jan 26, 2021 at 01:21:46PM -0800, Mike Kravetz wrote: >> On 1/26/21 11:21 AM, Joao Martins wrote: >>> On 1/26/21 6:08 PM, Mike Kravetz wrote: On 1/25/21 12:57 PM, Joao Martins wrote: > > +static void record_subpages_vmas(struct page

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Jason Gunthorpe
On Tue, Jan 26, 2021 at 05:58:53PM -0800, Mike Kravetz wrote: > As pointed out by Joao, you can also see the differences in pfn_to_page > for CONFIG_SPARSE_VMEMMAP and CONFIG_SPARSEMEM. The only time we might > have issues is with CONFIG_SPARSEMEM. I would bet CONFIG_SPARSE_VMEMMAP > is far more

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Matthew Wilcox
On Tue, Jan 26, 2021 at 08:07:30PM -0400, Jason Gunthorpe wrote: > I'm looking at Matt's folio patches and see: > > +static inline struct folio *next_folio(struct folio *folio) > +{ > + return folio + folio_nr_pages(folio); > +} This is a replacement for places that would do 'page++'. eg i

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Jason Gunthorpe
On Tue, Jan 26, 2021 at 01:21:46PM -0800, Mike Kravetz wrote: > On 1/26/21 11:21 AM, Joao Martins wrote: > > On 1/26/21 6:08 PM, Mike Kravetz wrote: > >> On 1/25/21 12:57 PM, Joao Martins wrote: > >>> > >>> +static void record_subpages_vmas(struct page *page, struct > >>> vm_area_struct *vma, > >

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Joao Martins
On 1/26/21 9:21 PM, Mike Kravetz wrote: > On 1/26/21 11:21 AM, Joao Martins wrote: >> On 1/26/21 6:08 PM, Mike Kravetz wrote: >>> On 1/25/21 12:57 PM, Joao Martins wrote: +static void record_subpages_vmas(struct page *page, struct vm_area_struct *vma, +

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Joao Martins
On 1/26/21 7:21 PM, Joao Martins wrote: > On 1/26/21 6:08 PM, Mike Kravetz wrote: >> On 1/25/21 12:57 PM, Joao Martins wrote: >>> For a given hugepage backing a VA, there's a rather ineficient >>> loop which is solely responsible for storing subpages in the passed >>> pages/vmas array. For each

Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-26 Thread Mike Kravetz
On 1/25/21 12:57 PM, Joao Martins wrote: > For a given hugepage backing a VA, there's a rather ineficient > loop which is solely responsible for storing subpages in the passed > pages/vmas array. For each subpage we check whether it's within > range or size of @pages and keep incrementing @pfn_offs

[PATCH 2/2] mm/hugetlb: refactor subpage recording

2021-01-25 Thread Joao Martins
For a given hugepage backing a VA, there's a rather ineficient loop which is solely responsible for storing subpages in the passed pages/vmas array. For each subpage we check whether it's within range or size of @pages and keep incrementing @pfn_offset and a couple other variables per subpage itera