BKL removal from VFS

Nakayama Shintaro (nakayama@tritech.co.jp)
Tue, 19 Feb 2002 16:17:52 +0900


----Next_Part(Tue_Feb_19_16:17:49_2002_518)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,

I've found great BKL contention when running multiple postmark
benchmarks. Here is the postmark results with lock contention
sampled by lockmeter.

# of trans/sec spinlock contention
1CPU 1197 --
4CPU 1549 62.2% (BKL=61.9%)
8CPU 1607 77.2% (BKL=77.0%)

- kernel is 2.4.17
- postmark params(number=5000 transactions=500000)
- Xeon 550Mhz, 1G memory
- virtually no disk I/O wait
- concurrelty running 8 postmark processes

To improve postmark results, I removed BKL from contenting points
with modifications as follows.

- removed BKL from following operations
i_op->create
i_op->lookup
i_op->link
i_op->mknod
i_op->mkdir
i_op->unlink
i_op->rmdir
i_op->truncate
i_op->setattr
i_op->permission
i_op->symlink
f_op->readdir

removed lock_kernel/unlock_kernel
-> LOCK_KERNEL/UNLOCK_KERNEL

- fine-grained ext2 locks

global resource protecting lock
-----------------------------------------
dir operation i_sem, i_zombie
inode, block bitmap per-group lock
inode meta data per-group lock
ext2 super block super block lock

- changed VFS locking strategy
fs_lock protects fs global operations such as sync,
mount. fs_lock is read/write lock. Each entry into
filesystem read-locks fs_lock, while global operations
do write-locking.

- internaling BKL into some filesystems
rootfs
proc
driverfs
tmpfs (not shmfs)
binfmt_misc
ext3
nfs

inserted lock_kernel/unlock_kernel
-> fs_lock_kernel/fs_unlock_kernel

other filesystems are not modified, thus dangerous to
use currently (they have no protecting lock!)

By this modification, BKL contention was reduced greatly.

# of trans/sec spinlock contention
1CPU 2430 --
2CPU 4098 1.3%
4CPU 7529 3.2%
8CPU 11394 10.7%

- 2.5.1 with BKL removal patch
- postmark params(number=1000 transactions=200000)
- others same as above

I've attached patch against 2.5.1 and m-postmark script. This
patch is tested on 8-way SMP machine with postmark and dbench.
You can get patch and data from

http://www.tritech.co.jp/members/nakayama/linux/vfs-bkl-2.5.1.diff.gz
http://www.tritech.co.jp/members/nakayama/linux/results.tar.bz2

I'm not in the list, please cc any reply to me. Hope this helps
to improve Linux.

(This work is paid by Fujitsu)

----Next_Part(Tue_Feb_19_16:17:49_2002_518)--
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="vfs-bkl-2.5.1.diff.gz"

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

----Next_Part(Tue_Feb_19_16:17:49_2002_518)----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/