Re: [PATCH 0/7] re-enable DAX PMD support
From: Jan Kara
Date: Wed Aug 17 2016 - 13:21:34 EST
On Wed 17-08-16 10:21:24, Ross Zwisler wrote:
> On Mon, Aug 15, 2016 at 02:14:14PM -0700, Dan Williams wrote:
> > On Mon, Aug 15, 2016 at 2:11 PM, Ross Zwisler
> > <ross.zwisler@xxxxxxxxxxxxxxx> wrote:
> > > On Mon, Aug 15, 2016 at 01:21:47PM -0700, Dan Williams wrote:
> > >> On Mon, Aug 15, 2016 at 12:09 PM, Ross Zwisler
> > >> <ross.zwisler@xxxxxxxxxxxxxxx> wrote:
> > >> > DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based
> > >> > locking. This series allows DAX PMDs to participate in the DAX radix tree
> > >> > based locking scheme so that they can be re-enabled.
> > >>
> > >> Looks good to me.
> > >>
> > >> > This series restores DAX PMD functionality back to what it was before it
> > >> > was disabled. There is still a known issue between DAX PMDs and hole
> > >> > punch, which I am currently working on and which I plan to address with a
> > >> > separate series.
> > >>
> > >> Perhaps we should hold off on applying patch 6 and 7 until after the
> > >> hole-punch fix is ready?
> > >
> > > Sure, I'm cool with holding off on patch 7 (the Kconfig change) until after
> > > the hole punch fix is ready.
> > >
> > > I don't see a reason to hold off on patch 6, though? It stands on it's own,
> > > implements the correct locking, and doesn't break anything.
> >
> > Whoops, I just meant 7.
>
> Well, it looks like the hole punch case is much improved since I tested it
> last! :) I used to be able to generate a few different kernel BUGs when hole
> punching DAX PMDs, but those have apparently been fixed in the mm layer since
> I was last testing, which admittedly was quite a long time ago (February?).
>
> The only issue I was able to find with DAX PMD hole punching was that ext4
> wasn't properly doing a writeback before the hole was unmapped and the radix
> tree entries were removed. This issue applies equally to the 4k case, so I've
> submitted a bug fix for v4.8:
>
> https://lists.01.org/pipermail/linux-nvdimm/2016-August/006621.html
>
> With that applied, I don't know of any more issues related to DAX PMDs and
> hole punch. I've tested ext4 and XFS (ext2 doesn't support hole punch), and
> they both properly do a writeback of all affected PMDs, fully unmap all
> affected PMDs, and remove the radix tree entries. I've tested that new page
> faults for addresses previously covered by the old PMDs generate new page
> faults, and 4k pages are now faulted in because the block allocator no longer
> has 2MiB contiguous allocations.
>
> One question (probably for Jan): should the above ext4 fix be marked for
> stable?
Yes, probably it should be.
Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR