Messages in this thread | | | Date | Wed, 8 Mar 2023 16:56:09 -0500 | From | Peter Xu <> | Subject | Re: [PATCH 1/2] mm: rmap: make hugetlb pages participate in _nr_pages_mapped |
| |
On Tue, Mar 07, 2023 at 04:36:51PM -0800, James Houghton wrote: > > > if (likely(!compound)) { > > > + if (unlikely(folio_test_hugetlb(folio))) > > > + VM_BUG_ON_PAGE(HPageVmemmapOptimized(&folio->page), > > > + page);
How about moving folio_test_hugetlb() into the BUG_ON()?
VM_BUG_ON_PAGE(folio_test_hugetlb(folio) && HPageVmemmapOptimized(&folio->page), page);
Note that BUG_ON() already contains an "unlikely".
> > > first = atomic_inc_and_test(&page->_mapcount); > > > nr = first; > > > if (first && folio_test_large(folio)) { > > > nr = atomic_inc_return_relaxed(mapped); > > > nr = (nr < COMPOUND_MAPPED); > > > } > > > - } else if (folio_test_pmd_mappable(folio)) { > > > - /* That test is redundant: it's for safety or to optimize out */ > > > > I 'think' removing this check is OK. It would seem that the caller > > knows if the folio is mappable. If we want a similar test, we might be > > able to use something like: > > > > arch_hugetlb_valid_size(folio_size(folio)) > > > > Ack. I think leaving the check(s) removed is fine.
Would it still be good to keep that as another BUG_ON()?
-- Peter Xu
| |