]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86: Update comment about pgd_list
authorBrendan Jackman <jackmanb@google.com>
Mon, 23 Mar 2026 14:25:07 +0000 (14:25 +0000)
committerDave Hansen <dave.hansen@linux.intel.com>
Mon, 11 May 2026 18:26:33 +0000 (11:26 -0700)
This venerable comment got detached from its context when the code moved
in commit 394158559d4c ("x86: move all the pgd_list handling to one
place"). Put it back next to its context. It was originally on
pgd_list_add() but it actually describes pgd_list so put it there.

While moving it, update it to strip away stale and superfluous info.
pageattr.c doesn't exist any more. pgd_list is now required
for all x86 architectures. Also be slightly more precise about what PGDs
are in this list.

[ dhansen: tweak and trim the updated comment a bit ]

Signed-off-by: Brendan Jackman <jackmanb@google.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20260323-pgd_list-comment-v2-1-77ccf2dc77e8@google.com
arch/x86/mm/fault.c
arch/x86/mm/pgtable.c

index 63de8e8684f237045e9ad4f6d415929ffdcb2b75..250942ef60bb3b6e0b3396e84ab1f453ec171140 100644 (file)
@@ -169,6 +169,11 @@ is_prefetch(struct pt_regs *regs, unsigned long error_code, unsigned long addr)
 }
 
 DEFINE_SPINLOCK(pgd_lock);
+/*
+ * List of all process' PGD pages (excluding init_mm and some other special
+ * system-wide PGDs). Mainly used to keep the kernel portion of the address
+ * space in sync across mms.
+ */
 LIST_HEAD(pgd_list);
 
 #ifdef CONFIG_X86_32
index da7f0a03cf90cf2123f7e1cbf3bf3e94e469cda9..f32facdb3035433762d3696167aad48ad31cc148 100644 (file)
@@ -99,17 +99,6 @@ static void pgd_dtor(pgd_t *pgd)
        spin_unlock(&pgd_lock);
 }
 
-/*
- * List of all pgd's needed for non-PAE so it can invalidate entries
- * in both cached and uncached pgd's; not needed for PAE since the
- * kernel pmd is shared. If PAE were not to share the pmd a similar
- * tactic would be needed. This is essentially codepath-based locking
- * against pageattr.c; it is the unique case in which a valid change
- * of kernel pagetables can't be lazily synchronized by vmalloc faults.
- * vmalloc faults work because attached pagetables are never freed.
- * -- nyc
- */
-
 #ifdef CONFIG_X86_PAE
 /*
  * In PAE mode, we need to do a cr3 reload (=tlb flush) when