[PATCH] mm/pgtable: define pte_index so that preprocessor could recognize it

From: Mike Rapoport
Date: Tue Jan 11 2022 - 09:55:11 EST


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
--
2.28.0