From: "Jörn Engel" <joern@logfs.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
Andrew Morton <akpm@linux-foundation.org>,
David Woodhouse <dwmw2@infradead.org>,
Arnd Bergmann <arnd@arndb.de>,
linux-kernel@vger.kernel.org
Subject: Re: LogFS merge
Date: Fri, 2 May 2008 22:21:52 +0200 [thread overview]
Message-ID: <20080502202151.GB24080@logfs.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0805021010040.5994@woody.linux-foundation.org>
On Fri, 2 May 2008 10:17:28 -0700, Linus Torvalds wrote:
> On Fri, 2 May 2008, Jörn Engel wrote:
> >
> > not being familiar with either maintaining my own git tree or the -next
> > process, I'd still like to get logfs into mainline. It has gone through
> > six rounds of reviews and the last has been mostly about crossing some
> > i's here and dotting some t's there.
>
> The thing I'd like to see is:
>
> - a more recent description of file system layout
>
> I've read the original paper, and I assume things have changed when
> implementing stuff. They always do.
The big picture has largely stayed the same, but many details haven't.
Will do.
> - some benchmarks and/or comments about regular usage (ie fragmentation
> etc). Yeah, it doesn't need to be all that extensive, but quite
> frankly, it sounds like this is meant to be at least a partial
> replacement for a GP filesystem (considering that seek/rotational
> delay are going away) and people are working on it with USB memory
> sticks etc, wouldn't it make sense to talk about disk usage (how much
> the GC wants free etc) and everyday performance?
Currently performance sucks badly on block device flashes (usb stick,
etc.) when creating/removing/renaming files. The combination of logfs
and the built-in logic can result in 1-2MB of data written to create a
single empty file. Yuck!
"Real" block devices or real flash suffer a lot less and writing large
amounts of data to existing files doesn't have this problem either.
Fragmentation is neither actively avoided nor actively enforced. If the
workload writes files single-threaded, it will initially be fairly good.
Over time GC will stir the soup and fragmentation grows. Several
parallel writers give a pretty bad result for seek-bound devices, even
initially.
GC wants 4095 + 28 bytes per segment (128KiB by default) to deal with
not-quite-100% filled segments plus one free segment per level (12 by
default, could become an mkfs option). Add the journal and superblock
for about 2MiB minimum overhead. Some embedded people with 32MiB
devices worry about that, although arguably they should still use jffs2
if minimal space overhead is a big issue.
I guess the above could go into Documentation/filesystems/logfs.txt.
And some more.
Jörn
--
Fancy algorithms are slow when n is small, and n is usually small.
Fancy algorithms have big constants. Until you know that n is
frequently going to be big, don't get fancy.
-- Rob Pike
next prev parent reply other threads:[~2008-05-02 20:22 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-02 13:32 LogFS merge Jörn Engel
2008-05-02 14:49 ` Pekka Enberg
2008-05-02 15:31 ` Christoph Hellwig
2008-05-02 20:33 ` Jörn Engel
2008-05-02 16:52 ` Arnd Bergmann
2008-05-02 21:47 ` Jörn Engel
2008-05-02 17:17 ` Linus Torvalds
2008-05-02 20:21 ` Jörn Engel [this message]
2008-05-02 20:33 ` Linus Torvalds
2008-05-02 21:31 ` Jörn Engel
2008-05-02 21:39 ` Linus Torvalds
2008-05-02 21:58 ` Jörn Engel
2008-05-03 7:03 ` Willy Tarreau
2008-05-03 9:11 ` Adrian Bunk
2008-05-03 9:18 ` Willy Tarreau
2008-05-03 9:37 ` Adrian Bunk
2008-05-03 9:44 ` Pekka Enberg
2008-05-03 11:06 ` Adrian Bunk
2008-05-03 17:16 ` Linus Torvalds
2008-05-03 17:59 ` Offtopic to: " David Collier-Brown
2008-05-02 17:29 ` Andi Kleen
2008-05-02 21:34 ` Jörn Engel
2008-05-05 20:31 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2008-05-03 9:29 matthieu castet
2008-05-03 12:00 ` Jörn Engel
2008-05-04 16:20 ` Thomas Gleixner
2008-05-04 18:04 ` Josh Boyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080502202151.GB24080@logfs.org \
--to=joern@logfs.org \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox