STRUCT FOLIO_WALK(9)
πΈ NAME πΈ
struct folio_walk β bestie, this is literally just the data holder that folio_walk_start() / folio_walk_end() use π
This page lives in the Kernel API Manual, and it's giving "quick reference for one struct" energy, so let's get into it π«Ά
β¨ SYNOPSIS β¨
struct folio_walk {
struct page *page;
enum folio_walk_level level;
union {
pte_t *ptep;
pud_t *pudp;
pmd_t *pmdp;
};
union {
pte_t pte;
pud_t pud;
pmd_t pmd;
};
struct vm_area_struct *vma;
spinlock_t *ptl;
};
That's the whole vibe right there β two anonymous unions doing main character energy, plus the obvious faves π
π Members π
pageβ the exact folio page being referenced (if applicable, so likeβ¦ sometimes it's just not relevant, iykyk) πlevelβ the page table level that identifies which entry type you're looking at π{unnamed_union}β anonymous π«₯{unnamed_union}β anonymous π«₯ (yes, twice, that's not me being lazy, that's the manpage being iconic)pteβ pointer to the page table entry (FW_LEVEL_PTE) π―pudβ pointer to the page table entry (FW_LEVEL_PUD) π―pmdβ pointer to the page table entry (FW_LEVEL_PMD) π―ptlβ pointer to the page table lock π
ok so tiny heads-up π β vma shows up in the struct up top but the Members list doesn't say anything about it. Not me gatekeeping, that's just what's in the page, so don't come for me π
π Description π
(see folio_walk_start documentation for more details)
Like β literally that's what it says. This page is a "go read the other page" situation and honestly? Respect the efficiency π
π SEE ALSO π
- Kernel file
./include/linux/pagewalk.h struct mm_walk_ops(9)struct mm_walk(9)
bestie you made it to the end, so here's the cute sign-off π¦ this one comes from ./include/linux, dated October 2026, and its whole identity is struct folio_walk(9) β slay, no cap β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms