mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
mm/gup: update comment explaining why gup_fast() disables IRQs
The current comment in gup_fast() talks about "IPIs that come from THPs
splitting", which is outdated and refers to the old THP splitting
implementation that was removed in commit ad0bed24e9
("thp: drop all
split_huge_page()-related code"), which landed in v4.5. Before then, THP
splitting involved a pmdp_splitting_flush(), which sent an IPI to
serialize against gup_fast().
Nowadays, we use tlb_remove_table_sync_one() to send IPIs that serialize
against gup_fast(); this is used, for example, in THP *collapsing* to stop
gup_fast() walks of a page table before depositing it.
Link: https://lkml.kernel.org/r/20250528-gup-irq-comment-fix-v1-1-b9d83c345333@google.com
Signed-off-by: Jann Horn <jannh@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kirill A. Shuemov <kirill.shutemov@linux.intel.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
bb084994d3
commit
52084f258e
1 changed files with 1 additions and 1 deletions
2
mm/gup.c
2
mm/gup.c
|
@ -3299,7 +3299,7 @@ static unsigned long gup_fast(unsigned long start, unsigned long end,
|
|||
* include/asm-generic/tlb.h for more details.
|
||||
*
|
||||
* We do not adopt an rcu_read_lock() here as we also want to block IPIs
|
||||
* that come from THPs splitting.
|
||||
* that come from callers of tlb_remove_table_sync_one().
|
||||
*/
|
||||
local_irq_save(flags);
|
||||
gup_fast_pgd_range(start, end, gup_flags, pages, &nr_pinned);
|
||||
|
|
Loading…
Add table
Reference in a new issue