Subject: Re: [RFC PATCH] mm: remove zap_page_range and change callers to use zap_vma_page_range

From: Mike Kravetz <[email-masked]>
Date: Fri, 23 Dec 2022 13:22:08 -0800

On 12/23/22 08:27, Christoph Hellwig wrote:
> >  		unsigned long size = vma->vm_end - vma->vm_start;
> >  
> >  		if (vma_is_special_mapping(vma, vdso_info[VDSO_ABI_AA64].dm))
> > -			zap_page_range(vma, vma->vm_start, size);
> > +			zap_vma_page_range(vma, vma->vm_start, size);
> >  #ifdef CONFIG_COMPAT_VDSO
> >  		if (vma_is_special_mapping(vma, vdso_info[VDSO_ABI_AA32].dm))
> > -			zap_page_range(vma, vma->vm_start, size);
> > +			zap_vma_page_range(vma, vma->vm_start, size);
> >  #endif
> 
> So for something called zap_vma_page_range I'd expect to just pass
> the vma and zap all of it, which this and many other callers want
> anyway.
> 
> > +++ b/arch/s390/mm/gmap.c
> > @@ -722,7 +722,7 @@ void gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to)
> >  		if (is_vm_hugetlb_page(vma))
> >  			continue;
> >  		size = min(to - gaddr, PMD_SIZE - (gaddr & ~PMD_MASK));
> > -		zap_page_range(vma, vmaddr, size);
> > +		zap_vma_page_range(vma, vmaddr, size);
> 
> And then just call zap_page_range_single directly for those that
> don't want to zap the entire vma.

Thanks!

This sounds like a good idea and I will incorporate in a new patch.

-- 
Mike Kravetz