diff options
author | Brian Behlendorf <[email protected]> | 2012-12-13 12:21:11 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-12-19 09:08:01 -0800 |
commit | 31f2b5abdf95d8426d8bfd66ca7f62ec70215e3c (patch) | |
tree | e3bf9676ae43e1088462583570cbc5ce3cf24d14 /module/zfs/zfs_ioctl.c | |
parent | 84daaddedbfc9cf4bd1490d8a6f4b2967051e308 (diff) |
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 <[email protected]>
Closes zfsonlinux/spl#174
Diffstat (limited to 'module/zfs/zfs_ioctl.c')
-rw-r--r-- | module/zfs/zfs_ioctl.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index c609203ea..d8e823427 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -5187,7 +5187,6 @@ zfs_detach(void) list_destroy(&zfsdev_state_list); } -uint_t zfs_fsyncer_key; extern uint_t rrw_tsd_key; #ifdef DEBUG @@ -5210,7 +5209,6 @@ _init(void) if ((error = zfs_attach()) != 0) goto out2; - tsd_create(&zfs_fsyncer_key, NULL); tsd_create(&rrw_tsd_key, NULL); printk(KERN_NOTICE "ZFS: Loaded module v%s-%s%s, " @@ -5240,7 +5238,6 @@ _fini(void) zfs_fini(); spa_fini(); - tsd_destroy(&zfs_fsyncer_key); tsd_destroy(&rrw_tsd_key); printk(KERN_NOTICE "ZFS: Unloaded module v%s-%s%s\n", |