[Top] [All Lists]

Re: xfs: add FITRIM support

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: xfs: add FITRIM support
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Thu, 6 Jan 2011 13:08:18 -0500
Cc: Michael Monnerie <michael.monnerie@xxxxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, Lukas Czerner <lczerner@xxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>
In-reply-to: <20110105225039.GD8322@dastard>
References: <20101125112304.GA4195@xxxxxxxxxxxxx> <20110103232514.GF15179@dastard> <alpine.LFD.2.00.1101051105120.3095@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <201101052307.38379@xxxxxx> <20110105225039.GD8322@dastard>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Jan 06, 2011 at 09:50:39AM +1100, Dave Chinner wrote:
> If we want optimised, only-trim-what-we-free behaviour, we need to
> hook into the transaction subsystem and issue TRIM commands at the
> time extents are actually freed. That is much more complex to
> implement but much easier to optimise because it doesn't require
> persistent state on disk. However, most devices are simply not ready
> to handle the flood of TRIM commands this generates, with
> performance degrading by ~10-20% for the best of devices and
> _10-100x_ for the worst...

I tested a few devices that have zero to 1% degradation, but those
were arrays, which allow for queued WRITE SAME/UNMAP commands instead
of the unqueued TRIM in ATA.  But I'm gettig close to finishing the
online discard and will start another benchmark session soon.  With
PCI-E flash devices that aren't limited by the ATA protocol, and the
proposed queueable TRIM command this looks like what we need for the

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