Question about logbsize default value

Gionatan Danti
2019-10-23T09:45:47Z

Hi list,
on both the mount man page and the doc here [1] I read that when the
underlying RAID stripe unit is bigger than 256k, the log buffer size
(logbsize) will be set at 32k by default.

As in my tests (on top of software RAID 10 with 512k chunks) it seems
that using logbsize=256k helps in metadata-heavy workload, I wonder why
the default is to set such a small log buffer size.

For example, given the following array:

md126 : active raid10 sda1[3] sdb1[1] sdc1[0] sdd1[2]
268439552 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 1/3 pages [4KB], 65536KB chunk

running "fs_mark -n 1000000 -k -S 0 -D 1000 -N 1000 -s 16384
-d /mnt/xfs/" shows the following results:

32k logbsize (default, due to 512k chunk size): 3027.4 files/sec
256k logbsize (manually specified during mount): 4768.4 files/sec

I would naively think that logbsize=256k would be a better default. Am I
missing something?

[1]