Re:[PATCH] mm/x86/pat: Only untrack the pfn range if unmap region

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

At 2024-07-12 22:42:44, "Peter Xu" <peterx@xxxxxxxxxx> wrote:
>
>NOTE: I massaged the commit message comparing to the rfc post [1], the
>patch itself is untouched.  Also removed rfc tag, and added more people
>into the loop. Please kindly help test this patch if you have a reproducer,
>as I can't reproduce it myself even with the syzbot reproducer on top of
>mm-unstable.  Instead of further check on the reproducer, I decided to send
>this out first as we have a bunch of reproducers on the list now..
>---
> mm/memory.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
>diff --git a/mm/memory.c b/mm/memory.c
>index 4bcd79619574..f57cc304b318 100644
>--- a/mm/memory.c
>+++ b/mm/memory.c
>@@ -1827,9 +1827,6 @@ static void unmap_single_vma(struct mmu_gather *tlb,
> 	if (vma->vm_file)
> 		uprobe_munmap(vma, start, end);
> 
>-	if (unlikely(vma->vm_flags & VM_PFNMAP))
>-		untrack_pfn(vma, 0, 0, mm_wr_locked);
>-
> 	if (start != end) {
> 		if (unlikely(is_vm_hugetlb_page(vma))) {
> 			/*
>@@ -1894,6 +1891,8 @@ void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas,
> 		unsigned long start = start_addr;
> 		unsigned long end = end_addr;
> 		hugetlb_zap_begin(vma, &start, &end);
>+		if (unlikely(vma->vm_flags & VM_PFNMAP))
>+			untrack_pfn(vma, 0, 0, mm_wr_locked);
> 		unmap_single_vma(tlb, vma, start, end, &details,
> 				 mm_wr_locked);
> 		hugetlb_zap_end(vma, &details);
>-- 
>2.45.0

I apply this patch on 6.10.0-rc7, and confirmed that no kernel warning shows up when I suspend my system(with nvidia GPU),
After several round of suspend/resume cycle, no error/warning observed in kernel log.

Thanks
David




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux