Re: [PATCH 1/7] mm: Set the pte dirty if the folio is already dirty

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

 



On Tue, Feb 18, 2025 at 05:06:38PM +0000, Matthew Wilcox wrote:
...
> > With the above the implicit dirtifying of hugetlb PTEs (as result of
> > mk_huge_pte() -> mk_pte()) in make_huge_pte() is removed:
> > 
> > static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page,
> > 		bool try_mkwrite)
> > {
> > 	...
> > 	if (try_mkwrite && (vma->vm_flags & VM_WRITE)) {
> > 		entry = huge_pte_mkwrite(huge_pte_mkdirty(mk_huge_pte(page,
> > 					 vma->vm_page_prot)));
> > 	} else {
> > 		entry = huge_pte_wrprotect(mk_huge_pte(page,
> > 					   vma->vm_page_prot));
> > 	}
> 
> Took me a moment to spot how this was getting invoked; for anyone else
> playing along, it's mk_huge_pte() which calls mk_pte().
> 
> But I'm not sure how you lose out on the PTE being marked dirty.  In
> the first arm that you've quoted, the pte is made dirty anyway.  In the
> second arm, it's being writeprotected, so marking it dirty isn't a
> helpful thing to do because writing to it will cause a fault anyway?
> 
> I know s390 is a little different, so there's probably something I'm
> missing.

No, it is just me missing the obvious.




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux