Messages in this thread | | | Subject | Re: [PATCH v4 0/3] ext4: increase mbcache scalability | From | Andreas Dilger <> | Date | Tue, 28 Jan 2014 14:09:15 -0700 |
| |
On Jan 28, 2014, at 5:26 AM, George Spelvin <linux@horizon.com> wrote: >> 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
[unhandled content-type:application/pgp-signature] | |