On Tue, 2022-01-11 at 16:54 +0200, Mike Rapoport wrote: > From: Mike Rapoport <rppt@xxxxxxxxxxxxx> > > Since commit 974b9b2c68f3 ("mm: consolidate pte_index() and > pte_offset_*() > definitions") pte_index is a static inline and there is no define for > it > that can be recognized by the preprocessor. As the result, > vm_insert_pages() uses slower loop over vm_insert_page() instead of > insert_pages() that amortizes the cost of spinlock operations when > inserting multiple pages. > > Fixes: 974b9b2c68f3 ("mm: consolidate pte_index() and pte_offset_*() > definitions") > Reported-by: Christian Dietrich <stettberger@xxxxxxxxxxx> > Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > include/linux/pgtable.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index e24d2c992b11..d468efcf48f4 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -62,6 +62,7 @@ static inline unsigned long pte_index(unsigned long > address) > { > return (address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1); > } > +#define pte_index pte_index > > #ifndef pmd_index > static inline unsigned long pmd_index(unsigned long address) > > base-commit: 2585cf9dfaaddf00b069673f27bb3f8530e2039c This is a good fix with positive performance impact. Reviewed-by: Khalid Aziz <khalid.aziz@xxxxxxxxxx>