Re: [PATCH] loop.c patches, take two

From: Ben Slusky
Date: Sun Dec 21 2003 - 16:13:39 EST


On Sun, 21 Dec 2003 22:49:47 +0200, Mika Penttil? wrote:
> Yet another Big Loop Patch... :)
>
> It's not obvious which parts are bug fixes, and which performance
> improvements. What exactly breaks loops on journalling filesystems, and
> how do you solve it?

See <URL:http://www.ussg.iu.edu/hypermail/linux/kernel/0310.3/1151.html>...
I'd submitted these patches a while back. Andrew observed that the
problems they fixed did not manifest in file-backed loops, so his
solution (which was merged into -mm but not mainstream) was to cut out
the block-backed code path entirely. THAT is what breaks journaling
filesystems on loops (note: not vice versa).

> What's the clone_bio() business? Why on reads only?

There's no need to allocate memory for a second copy of the data on
a read. This is a performance improvenment but I'd say it's closely
related to the main point of the patch (i.e. take what pages you can get
and recycle them); I'm making the block-backed code path significantly
more complex and at the same time having reads take a shortcut. But I
could split that into a separate patch if desired.

--
Ben Slusky | Yakka foob mog. Grug pubbawup
sluskyb@xxxxxxxxxxxxxx | zink wattoom gazork. Chumble
sluskyb@xxxxxxxxxx | spuzz.
PGP keyID ADA44B3B | -Calvin
-
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/