All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: Hans Reiser <reiser@namesys.com>
Cc: Sonny Rao <sonny@burdell.org>, reiserfs-list@namesys.com
Subject: Re: Odd Block allocation behavior on Reiser3
Date: Tue, 10 Aug 2004 16:29:51 -0400	[thread overview]
Message-ID: <1092169790.10651.443.camel@watt.suse.com> (raw)
In-Reply-To: <4119253B.1030807@namesys.com>

On Tue, 2004-08-10 at 15:42, Hans Reiser wrote:

> >Hmpf, that's what I get for expecting filefrag to work properly on
> >amd64.  The actual number of extents is 199, which is still better then
> >268.  Using fibmap, the fragmentation percentage is still the same as
> >ext3 (99.99% unfragmented) meaning the length between the extents is
> >quite small.
> >
> >If you mount with:
> >
> >mount -o alloc=skip_busy:oid_groups
> >
> >You get 8 extents on a 1GB file.
> >
> >This is because the oid grouping tries much harder to isolate the file
> >data from data from other files and metadata.  It is far from optimal
> >for normal usage, but for huge files it works nicely.

> For an empty filesystem there should be no fragmentation at all for big 
> dds one after another, except at bitmap block boundaries.  Any other 
> result indicates flawed code.  Remember, a hint of flawed code often 
> leads to more than a trivial flaw when fully understood.

Grin, you're welcome to overhaul the v3 allocator once again ;)  I made
a number of trade-offs under the restriction of the disk format and size
of the changes that were reasonable to make to the v3 code base.  For
every workload I tried, it scored as well or better then the old
allocator in fragmentation and performance.

The only reason I passed on the 1 extent number was that I assumed
filefrag had some fuzziness built in.  I believe that fibmap is a better
measurement overall, since it calculates not only the number of extents
but the total distance between the extents.  I feel the latter is a
better indication of the performance you'll get when you try to read a
given file.

If you examine the actual layout achieved by the new allocator, most of
the fragments are 1023 or so blocks long (jeff did some quick double
checks of this), which is what you can fit in a single leaf.  

In other words, the leaves are mixed in with the file data they point
to, which makes it quite likely they will be in cache (drive or OS) and
not need any seeks during the read.

-chris



  reply	other threads:[~2004-08-10 20:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-09 20:19 Odd Block allocation behavior on Reiser3 Sonny Rao
2004-08-09 20:30 ` Chris Mason
2004-08-09 22:04   ` Sonny Rao
2004-08-10  7:16     ` Hans Reiser
2004-08-10 15:45       ` Sonny Rao
2004-08-10 17:52         ` Hans Reiser
2004-08-10 18:25           ` Chris Mason
2004-08-10 18:50             ` Chris Mason
2004-08-10 19:42               ` Hans Reiser
2004-08-10 20:29                 ` Chris Mason [this message]
2004-08-10 21:47                   ` Hans Reiser
2004-08-10 23:12               ` Sonny Rao
2004-08-11  1:31                 ` Jeff Mahoney
2004-08-10 19:40             ` Hans Reiser
2004-08-10 23:00               ` Sonny Rao
2004-08-10 20:12           ` Why larger extent counts aren't necessarily bad (was Re: Odd Block allocation behavior on Reiser3) Jeff Mahoney
2004-09-09 17:04             ` Hans Reiser
2004-08-10 12:53     ` Odd Block allocation behavior on Reiser3 Chris Mason
2004-08-10 16:12       ` Sonny Rao

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=1092169790.10651.443.camel@watt.suse.com \
    --to=mason@suse.com \
    --cc=reiser@namesys.com \
    --cc=reiserfs-list@namesys.com \
    --cc=sonny@burdell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.