Re: [PATCH v5 3/9] mm: Add write-protect and clean utilities for address space ranges

From: Thomas HellstrÃm (VMware)
Date: Wed Jun 12 2019 - 08:25:01 EST


On 6/12/19 1:23 PM, Christoph Hellwig wrote:
On Wed, Jun 12, 2019 at 08:42:37AM +0200, Thomas HellstrÃm (VMware) wrote:
From: Thomas Hellstrom <thellstrom@xxxxxxxxxx>

Add two utilities to a) write-protect and b) clean all ptes pointing into
a range of an address space.
The utilities are intended to aid in tracking dirty pages (either
driver-allocated system memory or pci device memory).
The write-protect utility should be used in conjunction with
page_mkwrite() and pfn_mkwrite() to trigger write page-faults on page
accesses. Typically one would want to use this on sparse accesses into
large memory regions. The clean utility should be used to utilize
hardware dirtying functionality and avoid the overhead of page-faults,
typically on large accesses into small memory regions.
Please use EXPORT_SYMBOL_GPL, just like for apply_to_page_range and
friends.

Sounds reasonable if this uses already EXPORT_SYMBOL_GPL'd functionality. I'll respin.

Also in general new core functionality like this should go
along with the actual user, we don't need to repeat the hmm disaster.

I see in your later message that you noticed the other patches. There's also user-space functionality in mesa that excercises this.

/Thomas