Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-07 Thread Jan Kara
On Thu 06-10-16 20:58:33, Ross Zwisler wrote: > On Thu, Oct 06, 2016 at 03:34:24PM -0600, Ross Zwisler wrote: > > Interesting - adding iomap_end() calls to the DAX PTE fault handler causes > > an > > AA deadlock because we try and retake ei->dax_sem. We take dax_sem in > > ext2_dax_fault()

Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-04 Thread Jan Kara
On Tue 04-10-16 09:39:48, Ross Zwisler wrote: > > The gfp_mask that propagates from __do_fault() or do_page_mkwrite() is fine > > because at that point it is correct. But once we grab filesystem locks > > which are not reclaim safe, we should update vmf->gfp_mask we pass further > > down into DAX

Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-03 Thread Jan Kara
On Mon 03-10-16 15:05:57, Ross Zwisler wrote: > > > @@ -623,22 +672,30 @@ static void *dax_insert_mapping_entry(struct > > > address_space *mapping, > > > error = radix_tree_preload(vmf->gfp_mask & ~__GFP_HIGHMEM); > > > if (error) > > > return

Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-03 Thread Ross Zwisler
On Fri, Sep 30, 2016 at 02:56:27AM -0700, Christoph Hellwig wrote: > > -/* > > - * We use lowest available bit in exceptional entry for locking, other two > > - * bits to determine entry type. In total 3 special bits. > > - */ > > -#define RADIX_DAX_SHIFT(RADIX_TREE_EXCEPTIONAL_SHIFT + 3) > >

Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-03 Thread Christoph Hellwig
On Mon, Oct 03, 2016 at 12:59:49PM +0200, Jan Kara wrote: > I'm not quite sure if it is OK to call ->iomap_begin() without ever calling > ->iomap_end. Specifically the comment before iomap_apply() says: > > "It is assumed that the filesystems will lock whatever resources they > require in the

Re: [PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-10-03 Thread Jan Kara
On Thu 29-09-16 16:49:28, Ross Zwisler wrote: > DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based > locking. This patch allows DAX PMDs to participate in the DAX radix tree > based locking scheme so that they can be re-enabled using the new struct > iomap based fault

[PATCH v4 10/12] dax: add struct iomap based DAX PMD support

2016-09-29 Thread Ross Zwisler
DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based locking. This patch allows DAX PMDs to participate in the DAX radix tree based locking scheme so that they can be re-enabled using the new struct iomap based fault handlers. There are currently three types of DAX 4k