linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH resend 1/2] mm: always use base address when clear gigantic page
@ 2024-10-25  0:44 Kefeng Wang
  2024-10-25  0:44 ` [PATCH resend 2/2] mm: always use base address when copy " Kefeng Wang
  2024-10-25 22:56 ` [PATCH resend 1/2] mm: always use base address when clear " Andrew Morton
  0 siblings, 2 replies; 4+ messages in thread
From: Kefeng Wang @ 2024-10-25  0:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Hildenbrand, Matthew Wilcox, Muchun Song, Huang, Ying,
	linux-mm, Kefeng Wang

When clear gigantic page, it zeros page from the first subpage to
the last subpage, that is, aligned base address is needed in it,
and we don't need to aligned down the address in the caller as the
real address will be passed to process_huge_page().

Fixes: 78fefd04c123 ("mm: memory: convert clear_huge_page() to folio_zero_user()")
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 fs/hugetlbfs/inode.c | 2 +-
 mm/memory.c          | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index a4441fb77f7c..a5ea006f403e 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -825,7 +825,7 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset,
 			error = PTR_ERR(folio);
 			goto out;
 		}
-		folio_zero_user(folio, ALIGN_DOWN(addr, hpage_size));
+		folio_zero_user(folio, addr);
 		__folio_mark_uptodate(folio);
 		error = hugetlb_add_to_page_cache(folio, mapping, index);
 		if (unlikely(error)) {
diff --git a/mm/memory.c b/mm/memory.c
index 48e534aa939c..934ab5fff537 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -6802,6 +6802,7 @@ static void clear_gigantic_page(struct folio *folio, unsigned long addr,
 	int i;
 
 	might_sleep();
+	addr = ALIGN_DOWN(addr, folio_size(folio));
 	for (i = 0; i < nr_pages; i++) {
 		cond_resched();
 		clear_user_highpage(folio_page(folio, i), addr + i * PAGE_SIZE);
-- 
2.27.0



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

end of thread, other threads:[~2024-10-26  1:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-25  0:44 [PATCH resend 1/2] mm: always use base address when clear gigantic page Kefeng Wang
2024-10-25  0:44 ` [PATCH resend 2/2] mm: always use base address when copy " Kefeng Wang
2024-10-25 22:56 ` [PATCH resend 1/2] mm: always use base address when clear " Andrew Morton
2024-10-26  1:34   ` Kefeng Wang

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