]> granicus.if.org Git - zfs/commit
Remove TSD zfs_fsyncer_key
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 13 Dec 2012 20:21:11 +0000 (12:21 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 19 Dec 2012 17:08:01 +0000 (09:08 -0800)
commit31f2b5abdf95d8426d8bfd66ca7f62ec70215e3c
treee3bf9676ae43e1088462583570cbc5ce3cf24d14
parent84daaddedbfc9cf4bd1490d8a6f4b2967051e308
Remove TSD zfs_fsyncer_key

It's my understanding that the zfs_fsyncer_key TSD was added as
a performance omtimization to reduce contention on the zl_lock
from zil_commit().  This issue manifested itself as very long
(100+ms) fsync() system call times for fsync() heavy workloads.

However, under Linux I'm not seeing the same contention that
was originally described.  Therefore, I'm removing this code
in order to ween ourselves off any dependence on TSD.  If the
original performance issue reappears on Linux we can revisit
fixing it without resorting to TSD.

This just leaves one small ZFS TSD consumer.  If it can be
cleanly removed from the code we'll be able to shed the SPL
TSD implementation entirely.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/spl#174
include/sys/zfs_vfsops.h
module/zfs/zfs_ioctl.c
module/zfs/zfs_log.c
module/zfs/zfs_vnops.c