diff options
author | Chris Wedgwood <[email protected]> | 2014-10-23 16:00:41 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-11-14 14:59:21 -0800 |
commit | b31d8ea77cd91dce29acf3ec448180f3715cca13 (patch) | |
tree | c791566449c3affd1e274df2ced107a1655f2875 /module | |
parent | 0f69910833f4918283bad1ce9e23b701fc6edb6b (diff) |
Reduce buf/dbuf mutex contention
Due to evidence of contention both the buf_hash_table and the
dbuf_hash_table sizes have been increased from 256 to 8192.
This increase in hash table size adds approximating 0.5M to
our fixed memory footprint. This relatively small increase
is not expected to cause problems even on low memory machines.
This footprint will also become dynamic when the persistent
L2ARC support is finalized. In the meanwhile, this small
change significantly reduces contention for certain workloads.
Signed-off-by: Chris Wedgwood <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Pavel Snajdr <[email protected]>
Closes #1291
Diffstat (limited to 'module')
-rw-r--r-- | module/zfs/arc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 4cb773279..0742da0f6 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -657,7 +657,7 @@ struct ht_lock { #endif }; -#define BUF_LOCKS 256 +#define BUF_LOCKS 8192 typedef struct buf_hash_table { uint64_t ht_mask; arc_buf_hdr_t **ht_table; |