All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Chris Mason <mason@suse.com>
Cc: Oleg Drokin <green@namesys.com>, reiserfs-list@namesys.com
Subject: Re: [PATCH] various allocator optimizations
Date: Fri, 14 Mar 2003 13:26:58 +0300	[thread overview]
Message-ID: <3E71AE72.3090107@namesys.com> (raw)
In-Reply-To: <1047605662.8215.1068.camel@tiny.suse.com>

Chris Mason wrote:

>On Thu, 2003-03-13 at 19:15, Hans Reiser wrote:
>
>  
>
>>>Ok, more testing showed that patch wasn't bad, but wasn't great either. 
>>>Under a multiprocess test, the buffers in the path would get moved away
>>>and there wasn't enough data to make a good decision.  So the patch
>>>below changes things around a little, and records the span during
>>>search_by_key instead of trying to compute it after the search is over.
>>>
>>>      
>>>
>>Hunh?  Why don't you maintain a counter in the directory of the number 
>>of nodes in it?  Or are you afraid of causing extra IO?
>>
>>    
>>
>
>That would mean the parent directory counter would have to be updated
>every time we allocated a block in any sub directory.  Plus the counter
>would have to be inherited down the chain in deep directory structures. 
>More importantly, I'd rather not waste space in the stat data to store
>the information when we can get it during a search ;-)
>
The space usage is trivial.

>
>Basing the span on the tree allows us to detect a highly used locality
>regardless of what kind of tree object was using it, and we can do it
>with almost zero overhead.
>
>  
>
>>>In other words, I think this is a really good compromise between the
>>>current defaults and a more optimal case for fragmentation, and I expect
>>>its performance to hold up much better as the filesystem ages.
>>>
>>>      
>>>
>>Let's get lots of different testers.  You may have a nice heuristic here 
>>though....
>>
>>    
>>
>
>If everyone agrees the approach is worth trying, I'll make a patch that
>enables it via a mount option.
>
>  
>
>>How big are your packing localities tending to be?
>>    
>>
>
>Not more than can be pointed to by the leaf level and the level directly
>above it.  I know that's not very specific, but it varies by the
>dataset.  packed tails and long directory names lead to more packing
>localities per MB.
>
Which is why it is the wrong measure, yes?

>
>My 100MB subset of /usr/share/doc has 732 directories in it, and the
>copy phase of stress.sh -n 10 -s for that directory tree will produce
>1400 packing localities, so it depends on size of the tree in general.
>
>-chris
>
>
>
>
>  
>
I am not saying that storing it in the directory is the right thing, 
because of the risk of extra IO, but I think it should be tried.

-- 
Hans



  reply	other threads:[~2003-03-14 10:26 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-11 16:34 [PATCH] various allocator optimizations Chris Mason
2003-03-11 16:42 ` Oleg Drokin
2003-03-11 17:32   ` Chris Mason
2003-03-11 18:04     ` Oleg Drokin
2003-03-11 19:00       ` Chris Mason
2003-03-11 21:51         ` Hans Reiser
2003-03-11 21:42     ` Hans Reiser
2003-03-11 22:25       ` Chris Mason
2003-03-11 22:39         ` Anders Widman
2003-03-11 22:54           ` Hans Reiser
2003-03-11 23:19             ` Anders Widman
2003-03-12  7:15               ` Oleg Drokin
2003-03-11 22:46         ` Hans Reiser
2003-03-12  1:48           ` Chris Mason
2003-03-12  7:12             ` Oleg Drokin
2003-03-12 13:31               ` Chris Mason
2003-03-12 14:00                 ` Hans Reiser
2003-03-12 14:05                   ` Oleg Drokin
2003-03-12 14:08                     ` Hans Reiser
2003-03-12 14:17                       ` Oleg Drokin
2003-03-12 19:22                         ` Hans Reiser
2003-03-13  6:11                           ` Oleg Drokin
2003-03-13 12:06                             ` Hans Reiser
2003-03-13 12:10                               ` Oleg Drokin
2003-03-12 11:12             ` Hans Reiser
2003-03-12 13:35               ` Chris Mason
2003-03-12 14:03                 ` Hans Reiser
2003-03-12  7:14       ` Oleg Drokin
2003-03-12 19:57   ` Chris Mason
2003-03-12 20:51     ` Hans Reiser
2003-03-13 15:59       ` Chris Mason
2003-03-14  0:15         ` Hans Reiser
2003-03-14  1:34           ` Chris Mason
2003-03-14 10:26             ` Hans Reiser [this message]
2003-03-14 13:51               ` Chris Mason
2003-03-14 18:59                 ` Hans Reiser
2003-03-14 20:40                   ` Chris Mason
2003-03-14 13:59             ` Manuel Krause
2003-03-14 14:10               ` Chris Mason
2003-03-16 16:25       ` Anders Widman
2003-08-18 16:15         ` Hans Reiser
2003-08-18 16:20           ` Yury Umanets

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=3E71AE72.3090107@namesys.com \
    --to=reiser@namesys.com \
    --cc=green@namesys.com \
    --cc=mason@suse.com \
    --cc=reiserfs-list@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.