Re: [PATCH 1/2] fs: Do not dispatch FITRIM through separate super_operation

From: Ric Wheeler
Date: Fri Dec 03 2010 - 13:25:18 EST


On 11/18/2010 12:55 PM, Chris Mason wrote:
Excerpts from James Bottomley's message of 2010-11-18 12:19:10 -0500:
On Thu, 2010-11-18 at 09:29 -0500, Christoph Hellwig wrote:
On Thu, Nov 18, 2010 at 07:19:58AM -0700, Matthew Wilcox wrote:
I guess I was assuming that, on receiving a FALLOC_FL_PUNCH_HOLE, a
filesystem that was TRIM-aware would pass that information down to the
block device that it's mounted on. I strongly feel that we shouldn't
have two interfaces to do essentially the same thing.

I guess I'm saying that you're going to have to learn about TRIM :-)
Did you actually look Lukas FITRIM code (not the slight reordering here,
but the original one). It's the ext4 version of the batched discard
model, that is a userspace ioctl to discard free space in the
filesystem.

hole punching will free the blocks into the free space pool. If you do
online discard it will also get discarded, but a filesystem that has
online discard enabled doesn't need FITRIM.
Not stepping into the debate: I'm happy to see punch go to the mapping
data and FITRIM pick it up later.

However, I think it's time to question whether we actually still want to
allow online discard at all. Most of the benchmarks show it to be a net
lose to almost everything (either SSD or Thinly Provisioned arrays), so
it's become an "enable this to degrade performance" option with no
upside.
I think we want to keep it. In general we've (except for hch) spent
almost zero time actually tuning online discard, and the benchmarking
needs to be redone with the shiny new barrier code.

-chris


Very belated response - I agree that we should keep the online discard support in (but off by default).

Some of the devices we have tested perform well with it and I expect that hardware vendors will get better now that we have the support for them to test with.

Ric


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/