[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yu1ie559zt8VvDc1@monkey>
Date: Fri, 5 Aug 2022 11:33:31 -0700
From: Mike Kravetz <mike.kravetz@...cle.com>
To: David Hildenbrand <david@...hat.com>
Cc: Peter Xu <peterx@...hat.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, Andrew Morton <akpm@...ux-foundation.org>,
Muchun Song <songmuchun@...edance.com>,
Peter Feiner <pfeiner@...gle.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
stable@...r.kernel.org
Subject: Re: [PATCH v1 1/2] mm/hugetlb: fix hugetlb not supporting
write-notify
On 08/05/22 20:25, David Hildenbrand wrote:
> On 05.08.22 20:23, Mike Kravetz wrote:
> > On 08/05/22 14:14, Peter Xu wrote:
> >> On Fri, Aug 05, 2022 at 01:03:28PM +0200, David Hildenbrand wrote:
> >>> diff --git a/mm/mmap.c b/mm/mmap.c
> >>> index 61e6135c54ef..462a6b0344ac 100644
> >>> --- a/mm/mmap.c
> >>> +++ b/mm/mmap.c
> >>> @@ -1683,6 +1683,13 @@ int vma_wants_writenotify(struct vm_area_struct *vma, pgprot_t vm_page_prot)
> >>> if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED)))
> >>> return 0;
> >>>
> >>> + /*
> >>> + * Hugetlb does not require/support writenotify; especially, it does not
> >>> + * support softdirty tracking.
> >>> + */
> >>> + if (is_vm_hugetlb_page(vma))
> >>> + return 0;
> >>
> >> I'm kind of confused here.. you seems to be fixing up soft-dirty for
> >> hugetlb but here it's explicitly forbidden.
> >>
> >> Could you explain a bit more on why this patch is needed if (assume
> >> there'll be a working) patch 2 being provided?
> >>
> >
> > No comments on the patch, but ...
> >
> > Since it required little thought, I ran the test program on next-20220802 and
> > was surprised that the issue did not recreate. Even added a simple printk
> > to make sure we were getting into vma_wants_writenotify with a hugetlb vma.
> > We were.
>
>
> ... does your config have CONFIG_MEM_SOFT_DIRTY enabled?
>
No, Duh!
FYI - Some time back, I started looking at adding soft dirty support for
hugetlb mappings. I did not finish that work. But, I seem to recall
places where code was operating on hugetlb mappings when perhaps it should
not.
Perhaps, it would also be good to just disable soft dirty for hugetlb at
the source?
--
Mike Kravetz
Powered by blists - more mailing lists