xfs
[Top] [All Lists]

Re: [PATCH 3/6] xfs: Don't use unwritten extents for DAX

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 3/6] xfs: Don't use unwritten extents for DAX
From: Jan Kara <jack@xxxxxxx>
Date: Tue, 3 Nov 2015 10:16:05 +0100
Cc: Brian Foster <bfoster@xxxxxxxxxx>, ross.zwisler@xxxxxxxxxxxxxxx, jack@xxxxxxx, xfs@xxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, dan.j.williams@xxxxxxxxx, linux-nvdimm@xxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20151102214424.GJ10656@dastard>
References: <1445225238-30413-1-git-send-email-david@xxxxxxxxxxxxx> <1445225238-30413-4-git-send-email-david@xxxxxxxxxxxxx> <20151029142950.GE11663@xxxxxxxxxxxxxxx> <20151029233756.GS19199@dastard> <20151030123657.GC54905@xxxxxxxxxxxxxxx> <20151102011433.GW19199@dastard> <20151102141509.GA29346@xxxxxxxxxxxxxxx> <20151102214424.GJ10656@dastard>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue 03-11-15 08:44:24, Dave Chinner wrote:
> Realistically, dax_clear_blocks() should probably be implemented at
> the pmem driver layer through blkdev_issue_zeroout() because all it
> does is directly map the sector/len to pfn via bdev_direct_access()
> and then zero it - it's a sector based, block device operation. We
> don't actually need a special case path for DAX here. Optimisation
> of this operation has little to do with the filesystem.

Yep. This is actually what I did in ext4 - the block zeroing is using the
ext4 block zeroout path which ends up calling blkdev_issue_zeroout(). I
didn't want to special-case DAX and figured out that if we want
performance, we should implement blkdev_issue_zeroout() efficiently for
pmem. After all ext4 uses blkdev_issue_zeroout() in other extent conversion
cases where zeroing out is needed.

                                                                Honza
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR

<Prev in Thread] Current Thread [Next in Thread>