linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Use nth_page() in place of direct struct page manipulation
@ 2023-08-30 18:27 Zi Yan
  2023-08-30 18:27 ` [PATCH 1/3] mm: use " Zi Yan
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Zi Yan @ 2023-08-30 18:27 UTC (permalink / raw)
  To: linux-mm, linux-kernel, linux-mips
  Cc: Zi Yan, Andrew Morton, Thomas Bogendoerfer,
	Matthew Wilcox (Oracle),
	David Hildenbrand, Mike Kravetz, Muchun Song, Mike Rapoport (IBM)

From: Zi Yan <ziy@nvidia.com>

On SPARSEMEM without VMEMMAP, struct page is not guaranteed to be
contiguous, since each memory section's memmap might be allocated
independently. hugetlb pages can go beyond a memory section size, thus
direct struct page manipulation on hugetlb pages/subpages might give
wrong struct page. Kernel provides nth_page() to do the manipulation
properly. Use that whenever code can see hugetlb pages.

The patches are on top of next-20230830.

Zi Yan (3):
  mm: use nth_page() in place of direct struct page manipulation.
  fs: use nth_page() in place of direct struct page manipulation.
  mips: use nth_page() in place of direct struct page manipulation.

 arch/mips/mm/cache.c | 2 +-
 fs/hugetlbfs/inode.c | 4 ++--
 mm/cma.c             | 2 +-
 mm/hugetlb.c         | 2 +-
 mm/memory_hotplug.c  | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

-- 
2.40.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-08-31 15:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-30 18:27 [PATCH 0/3] Use nth_page() in place of direct struct page manipulation Zi Yan
2023-08-30 18:27 ` [PATCH 1/3] mm: use " Zi Yan
2023-08-31  7:14   ` Muchun Song
2023-08-31 15:37     ` Zi Yan
2023-08-30 18:27 ` [PATCH 2/3] fs: " Zi Yan
2023-08-31  7:17   ` [PATCH 2/3] " Muchun Song
2023-08-31 15:37     ` Zi Yan
2023-08-30 18:27 ` [PATCH 3/3] mips: " Zi Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox