Thread (20 messages) 20 messages, 11 authors, 2007-07-27

Re: vm/fs meetup details

From: Chris Mason <hidden>
Date: 2007-07-06 13:56:31
Also in: linux-fsdevel

On Fri, 6 Jul 2007 23:42:01 +1000
David Chinner [off-list ref] wrote:
On Fri, Jul 06, 2007 at 12:26:23PM +0200, JA?A?rn Engel wrote:
quoted
On Fri, 6 July 2007 20:01:10 +1000, David Chinner wrote:
quoted
On Fri, Jul 06, 2007 at 04:26:51AM +0200, Nick Piggin wrote:

But, surprisingly enough, the above work is relevent to this
forum because of two things:

	- we've had to move to direct I/O and user space caching
to work around deficiencies in kernel block device caching under
memory pressure....

	- we've exploited techniques that XFS supports but the VM
does not. i.e. priority tagging of cached metadata so that less
important metadata is tossed first (e.g. toss tree leaves before
nodes and nodes before roots) when under memory pressure.
And the latter is exactly what logfs needs as well.  You certainly
have me interested.

I believe it applies to btrfs and any other cow-fs as well.  The
point is that higher levels get dirtied by writing lower layers.
So perfect behaviour for sync is to write leaves first, then nodes,
then the root.  Any other order will either cause sync not to sync
or cause unnecessary writes and cost performance.
Hmmm - I guess you could use it for writeback ordering. I hadn't
really thought about that. Doesn't seem a particularly efficient way
of doing it, though. Why not just use multiple address spaces for
this? i.e. one per level and flush in ascending order.
At least in the case of btrfs, the perfect order for sync is disk
order ;)  COW happens when blocks are changed for the first time in a
transaction, not when they are written out to disk.  If logfs is
writing things out some form of tree order, you're going to have to
group disk allocations such that tree order reflects disk order somehow.

But, the part where we toss leaves first is definitely useful.

-chris

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help