Messages in this thread | | | Date | Tue, 26 Jan 2016 23:17:06 -0500 | From | Matthew Wilcox <> | Subject | Re: [PATCH 3/3] dax: Handle write faults more efficiently |
| |
On Mon, Jan 25, 2016 at 09:38:19AM -0800, Andy Lutomirski wrote: > On Mon, Jan 25, 2016 at 9:25 AM, Matthew Wilcox > <matthew.r.wilcox@intel.com> wrote: > > From: Matthew Wilcox <willy@linux.intel.com> > > > > When we handle a write-fault on a DAX mapping, we currently insert a > > read-only mapping and then take the page fault again to convert it to > > a writable mapping. This is necessary for the case where we cover a > > hole with a read-only zero page, but when we have a data block already > > allocated, it is inefficient. > > > > Use the recently added vmf_insert_pfn_prot() to insert a writable mapping, > > even though the default VM flags say to use a read-only mapping. > > Conceptually, I like this. Do you need to make sure to do all the > do_wp_page work, though? (E.g. we currently update mtime in there. > Some day I'll fix that, but it'll be replaced with a set_bit to force > a deferred mtime update.)
We update mtime in the ->fault handler of filesystems which support DAX like this:
if (vmf->flags & FAULT_FLAG_WRITE) { sb_start_pagefault(inode->i_sb); file_update_time(vma->vm_file); }
so I think we're covered.
| |