]> git.proxmox.com Git - mirror_zfs.git/commit
Add DB_RF_NOPREFETCH to dbuf_read()s in dnode.c
authorAdam D. Moss <c@yotes.com>
Fri, 25 Sep 2020 20:49:22 +0000 (13:49 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 1 Oct 2020 19:21:09 +0000 (12:21 -0700)
commitedd23dba81fe3a54e92389f8533fb4dd8d8a241f
tree3322b67f2aeb5ba75d5f14b62006629b167a17a0
parent7b353d2c8cf6ab20c1426f7a3f1312a71921eb7f
Add DB_RF_NOPREFETCH to dbuf_read()s in dnode.c

Prefetching of dnodes in dbuf_read() can cause significant mutex
contention for some workloads and isn't very helpful.  This is
because we already get 32 dnodes for each block read, and when
iterating over a directory we prefetch the dnodes in the directory.
Disable this prefetching to prevent the lock contention.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Submitted-by: Adam Moss <c@yotes.com>
Submitted-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Adam Moss <c@yotes.com>
Closes #10877
Closes #10953
module/zfs/dnode.c