[PATCH RFC v3 12/21] mm/pgtable: redefine PGTABLE_LEVEL enum with ascend order from PGD

From: Yeoreum Yun

Date: Wed Sep 02 2026 - 08:14:39 EST


The PGTABLE_LEVEL enum values appear to be ordered in the opposite direction
from their intended usage.

Intuitively, higher page table levels should have smaller enum values,
but PTE is currently assigned 0.

For consistency and cleanup, reverse the enum value ordering.

Since there is no current user relies on these numbers to be ascending from
PTE->PGD, so it can be changed to be ascending from PGD->PTE, in the
direction of the page table walk.

Signed-off-by: Yeoreum Yun <yeoreum.yun@xxxxxxx>
---
include/linux/pgtable.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index e3c8ab96941c..3186096a6e13 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -2288,11 +2288,11 @@ static inline bool arch_has_pfn_modify_check(void)
typedef unsigned int pgtbl_mod_mask;

enum pgtable_level {
- PGTABLE_LEVEL_PTE = 0,
- PGTABLE_LEVEL_PMD,
- PGTABLE_LEVEL_PUD,
+ PGTABLE_LEVEL_PGD = 0,
PGTABLE_LEVEL_P4D,
- PGTABLE_LEVEL_PGD,
+ PGTABLE_LEVEL_PUD,
+ PGTABLE_LEVEL_PMD,
+ PGTABLE_LEVEL_PTE,
};

static inline const char *pgtable_level_to_str(enum pgtable_level level)

--
2.43.0