Thread (4 messages) 4 messages, 3 authors, 2014-02-12

Re: [PATCH v4 0/3] ext4: increase mbcache scalability

From: Andreas Dilger <hidden>
Date: 2014-01-28 21:09:15
Also in: linux-fsdevel, lkml

On Jan 28, 2014, at 5:26 AM, George Spelvin [off-list ref] wrote:
quoted
The third part of the patch further increases the scalablity of an ext4
filesystem by having each ext4 fielsystem allocate and use its own private
mbcache structure, instead of sharing a single mcache structures across all
ext4 filesystems, and increases the size of its mbcache hash tables.
Are you sure this helps?  The idea behind having one large mbcache is
that one large hash table will always be at least as well balanced as
multiple separate tables, if the total size is the same.

If you have two size 2^n hash tables, the chance of collision is equal to
one size  2^(n+1) table if they're equally busy, and if they're unequally
busy. the latter is better.  The busier file system will take less time
per search, and since it's searched more often than the less-busy one,
net win.

How does it compare with just increasing the hash table size but leaving
them combined?
Except that having one mbcache per block device would avoid the need
to store the e_bdev pointer in thousands/millions of entries.  Since
the blocks are never shared between different block devices, there
is no caching benefit even if the same block is on two block devices.

Cheers, Andreas




Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help