On Tue, Feb 08, 2005 at 03:34:27PM +1100, Dave Chinner wrote:
<snip>
> Seeing as you are running 2.6.11-rc3, you're in luck. Nathan's
> inode hash tweaks were merged into -rc3, so you can increase the
> size of the inode hash with a mount option. The mount option
> is "ihashsize", and it specifies the width of the hash table.
> i.e. `mount -o ihashsize=xxxxx /dev/sdb1 /mntpt`
>
> I'm not sure what the default your filesystem will be using, but
> a maximum of 16*PAGE_SIZE (=64k chains on i386/x86-64) applies to the
> default setting.
>
> If you specify a size this maximum does not apply, but if you
> specify a value too large memory allocation for the hash will
> silently fail and the size will be halved repeatedly until the
> allocation succeeds.
>
Hmm, I've seen this before too running something which resembles
SPEC-SFS where we have millions of inodes in cache.
I'm guessing that increasing the hash-size will help us here as well?
Sonny
Oprofile and slab Data from kernel 2.6.9
Machine is a 4-way Power5 box.
Sorry about the long lines.
Here's a snippet from Oprofile:
CPU: ppc64 POWER5, speed 1904 MHz (estimated)
Counted CYCLES events (Processor cycles) with a unit mask of 0x00 (No
unit mask) count 100000
samples % image name app name
symbol name
27374923 30.6599 vmlinux-autobench-2.6.9-autokern1
vmlinux-autobench-2.6.9-autokern1 .dedicated_idle
8371486 9.3761 xfs.ko xfs .xfs_iget
Snippet from slabinfo:
xfs_acl 0 0 304 13 1 : tunables 54 27 8 :
slabdata 0 0 0
xfs_chashlist 766053 766640 32 112 1 : tunables 120 60 8 :
slabdata 6845 6845 3
xfs_ili 779799 4449280 192 20 1 : tunables 120 60 8 :
slabdata 222464 222464 480
xfs_ifork 0 0 64 59 1 : tunables 120 60 8 :
slabdata 0 0 0
xfs_efi_item 0 0 352 11 1 : tunables 54 27 8 :
slabdata 0 0 0
xfs_efd_item 0 0 360 11 1 : tunables 54 27 8 :
slabdata 0 0 0
xfs_buf_item 3682 7350 184 21 1 : tunables 120 60 8 :
slabdata 350 350 0
xfs_dabuf 3 576 24 144 1 : tunables 120 60 8 :
slabdata 2 4 0
xfs_da_state 5 152 488 8 1 : tunables 54 27 8 :
slabdata 5 19 2
xfs_trans 88 468 872 9 2 : tunables 54 27 8 :
slabdata 52 52 68
xfs_inode 5435445 6247990 528 7 1 : tunables 54 27 8 :
slabdata 892570 892570 216
xfs_btree_cur 0 100 192 20 1 : tunables 120 60 8 :
slabdata 0 5 0
xfs_bmap_free_item 0 0 24 144 1 : tunables 120 60 8 :
slabdata 0 0 0
xfs_buf_t 5210 6860 512 7 1 : tunables 54 27 8 :
slabdata 980 980 216
linvfs_icache 5429958 6130187 584 7 1 : tunables 54 27 8 :
slabdata 875741 875741 0
|