Messages in this thread | | | From | Yu Zhao <> | Date | Wed, 19 Jul 2023 12:23:34 -0600 | Subject | Re: [PATCH v2 2/3] mm: Implement folio_remove_rmap_range() |
| |
On Wed, Jul 19, 2023 at 7:55 AM Ryan Roberts <ryan.roberts@arm.com> wrote: > > Like page_remove_rmap() but batch-removes the rmap for a range of pages > belonging to a folio. This can provide a small speedup due to less > manipuation of the various counters. But more crucially, if removing the > rmap for all pages of a folio in a batch, there is no need to > (spuriously) add it to the deferred split list, which saves significant > cost when there is contention for the split queue lock. > > All contained pages are accounted using the order-0 folio (or base page) > scheme. > > Reviewed-by: Yin Fengwei <fengwei.yin@intel.com> > Reviewed-by: Zi Yan <ziy@nvidia.com> > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
I have asked for this before but let me be very clear this time: we need to generalize the existing functions rather than add more specialized functions. Otherwise it'd get even harder to maintain down the road.
folio_remove_rmap_range() needs to replace page_remove_rmap(). IOW, page_remove_rmap() is just a wrapper around folio_remove_rmap_range().
| |