All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Mahoney <jeffm@suse.com>
To: mingz@ele.uri.edu
Cc: "Vladimir V. Saveliev" <vs@namesys.com>,
	reiserfs <reiserfs-list@namesys.com>
Subject: Re: reiser fs slow on mksf and mount
Date: Sun, 28 Aug 2005 14:44:29 -0400	[thread overview]
Message-ID: <4312060D.8020904@suse.com> (raw)
In-Reply-To: <1125243608.5544.18.camel@localhost.localdomain>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ming Zhang wrote:
> On Sat, 2005-08-27 at 20:01 -0400, Jeff Mahoney wrote:
> 
>> yes, i have a 12*400GB SATA MD raid that want to store my huge number of
>> pictures (i am not a good photographer, but a quick shooter.) all these
>> files are named as DSCxxxxxx.jpg but not continuous since some are
>> really bad so deleted. so i jump out these questions to stress the
>> scalability of fs.

ReiserFS is very well suited for lots of files, so you should be all set
in that respect.

> * We don't cache any other metadata (other than the superblock, which is
> standard practice) specially. In a mostly-reader environment, bitmaps
> would rank very low in importance for caching.
> 
>> could u explain a bit more on what is the purpose of these bitmaps? what
>> is the relationship between these bitmap and other metadata?

The bitmaps are used to keep track of which blocks on disk are used, and
which are available for allocation. Every (blocksize * 8) blocks, there
is a block reserved to keep track of which blocks in that range are
allocated or not. On a 4k block filesystem, that boils down to 1 4k
block for every 128 MB. If a block is used, the bit corresponding to it
is set. When the block is freed, the bit is cleared.

Well there are a several kinds of metadata on the filesystem: The super
block, the bitmaps, the journal, and the reiserfs s-tree itself. The
journal and bitmaps are only used when writing to the filesystem. The
superblock and s-tree are used for any filesystem access. The
relationship is that before a file data block or an s-tree node can be
allocated on disk, the bitmaps must be checked to see where the block
can be allocated.

>> assumed i have 2GB or 4GB ram, which is not unbelievable for a desktop
>> now. but can these RAM be used by 32BIT arch?

The RAM can be used, sure, but not for the bitmaps. I believe the buffer
heads for the bitmaps need to come out of the memory < 1 GB. It would be
possible to put the bitmaps in high memory (like any other data), but
the patch to do so would likely be more involved than the dynamic bitmap
patch, and still waste the memory anyway.

> Allocate-on-flush allows the filesystem to wait until the last possible
> moment to allocate the space on disk, which makes performance a little
> nicer, but more importantly, allows the allocator to allocate entire
> chunks of a file rather than a block-at-a-time.
> 
>> are u talking about allocating space after that file content is cached
>> in RAM and before need to be flushed? this is then like a write-any file
>> system that you can write to a place where it is still continuous and
>> near to current disk head (though latter is hard to achieve since it is
>> hidden by LVM/MD/...).

Well those are two different issues. Allocate on flush would try to keep
the file as contiguous as possible, whether by appending (ideal) or by
keeping the new chunk of data all together as a separate fragment rather
than individual blocks scattered everywhere. As for writing near the
current disk head, that is an operation that is performed by the block
layer. It can make the best decisions on that, since it its at the
lowest level of abstraction. It's entirely possible that a filesystem be
mounted via file-loopback on an NFS mount. In that case, the local
system has no information at all about where the disk head would be.

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFDEgYNLPWxlyuTD7IRAlkgAKCM8evk+X3FSAw9IzEbeRKyo+N2tgCffyNi
yNcc2G2Uy09X5zMI97AKaJc=
=UzK+
-----END PGP SIGNATURE-----

  reply	other threads:[~2005-08-28 18:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-26 16:45 reiser fs slow on mksf and mount Ming Zhang
2005-08-26 17:04 ` Vladimir V. Saveliev
2005-08-26 17:08   ` Ming Zhang
2005-08-26 17:15     ` Ming Zhang
2005-08-26 17:32       ` Vladimir V. Saveliev
2005-08-26 18:07         ` Ming Zhang
2005-08-26 18:16         ` Ming Zhang
2005-08-27 19:29           ` Jeff Mahoney
2005-08-27 21:45             ` Christian Iversen
2005-08-27 21:55               ` David Masover
2005-08-29 19:44                 ` Hans Reiser
2005-08-27 22:54               ` Ming Zhang
2005-08-29 15:07               ` Jeff Mahoney
2005-08-27 22:53             ` Ming Zhang
2005-08-28  0:01               ` Jeff Mahoney
2005-08-28 15:40                 ` Ming Zhang
2005-08-28 18:44                   ` Jeff Mahoney [this message]
2005-08-29 12:39                     ` Ming Zhang
2005-08-29 14:26                       ` Jeff Mahoney
2005-08-29 14:41                         ` Ming Zhang
2005-08-29 14:51                           ` Jeff Mahoney
2005-08-29 15:20                             ` Ming Zhang
2005-08-29 15:28                               ` Jeff Mahoney
2005-08-29 15:37                                 ` Ming Zhang
2005-08-29 19:40             ` Hans Reiser
2005-08-29 19:44               ` Jeff Mahoney
2005-08-29 19:53                 ` Hans Reiser
2005-08-29 16:44   ` Ming Zhang

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=4312060D.8020904@suse.com \
    --to=jeffm@suse.com \
    --cc=mingz@ele.uri.edu \
    --cc=reiserfs-list@namesys.com \
    --cc=vs@namesys.com \
    /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.