xfs
[Top] [All Lists]

Re: Ext4 and xfs problems in dm-thin on allocation and discard

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: Ext4 and xfs problems in dm-thin on allocation and discard
From: Spelic <spelic@xxxxxxxxxxxxx>
Date: Tue, 19 Jun 2012 23:37:54 +0200
Cc: Mike Snitzer <snitzer@xxxxxxxxxx>, Spelic <spelic@xxxxxxxxxxxxx>, Lukáš Czerner <lczerner@xxxxxxxxxx>, device-mapper development <dm-devel@xxxxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
In-reply-to: <20120619200631.GL25389@dastard>
References: <4FDF9EBE.2030809@xxxxxxxxxxxxx> <20120619015745.GJ25389@dastard> <20120619031241.GA3884@xxxxxxxxxx> <alpine.LFD.2.00.1206190816440.2241@xxxxxxxxxxxxxxxxxxxxxxxxx> <20120619131649.GA6811@xxxxxxxxxx> <alpine.LFD.2.00.1206191519320.21961@xxxxxxxxxxxxxxxxxxxxxxxxx> <20120619133041.GB6811@xxxxxxxxxx> <4FE0840F.2050704@xxxxxxxxxxxxx> <20120619144413.GA7225@xxxxxxxxxx> <20120619184858.GA8841@xxxxxxxxxx> <20120619200631.GL25389@dastard>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
On 06/19/12 22:06, Dave Chinner wrote:
On Tue, Jun 19, 2012 at 02:48:59PM -0400, Mike Snitzer wrote:
On Tue, Jun 19 2012 at 10:44am -0400,
Mike Snitzer<snitzer@xxxxxxxxxx>  wrote:

On Tue, Jun 19 2012 at  9:52am -0400,
Spelic<spelic@xxxxxxxxxxxxx>  wrote:

I do not know what is the mechanism for which xfs cannot unmap
blocks from dm-thin, but it really can't.
If anyone has dm-thin installed he can try. This is 100%
reproducible for me.
I was initially surprised by this considering the thinp-test-suite does
test a compilebench workload against xfs and ext4 using online discard
(-o discard).

But I just modified that test to use a thin-pool with 'ignore_discard'
and the test still passed on both ext4 and xfs.

So there is more work needed in the thinp-test-suite to use blktrace
hooks to verify that discards are occuring when the compilebench
generated files are removed.

I'll work through that and report back.
blktrace shows discards for both xfs and ext4.

But in general xfs is issuing discards with much smaller extents than
ext4 does, e.g.:
THat's normal when you use -o discard - XFS sends extremely
fine-grained discards as the have to be issued during the checkpoint
commit that frees the extent. Hence they can't be aggregated like is
done in ext4.

As it is, no-one really should be using -o discard - it is extremely
inefficient compared to a background fstrim run given that discards
are unqueued, blocking IOs. It's just a bad idea until the lower
layers get fixed to allow asynchronous, vectored discards and SATA
supports queued discards...


Could it be that the thin blocksize is larger than the discard granularity by xfs so nothing ever gets unmapped? I have tried thin pools with the default blocksize (64k afair with lvm2) and 1MB. HOWEVER I also have tried fstrim on xfs, and that is also not capable to unmap things from the dm-thin.
What is the granularity with fstrim in xfs?
Sorry I can't access the machine right now; maybe tomorrow, or in the weekend.

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