Commit 5e76f564 authored by Eric Dumazet's avatar Eric Dumazet Committed by Christoph Hellwig

dma-debug: increase HASH_SIZE

With modern NIC, it is not unusual having about ~256,000 active dma
mappings and a hash size of 1024 buckets is too small.

Forcing full cache line per bucket does not seem useful, especially now
that we have contention on free_entries_lock for allocations and freeing
of entries.  Better use the space to fit more buckets.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent d3694f30
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <asm/sections.h> #include <asm/sections.h>
#define HASH_SIZE 1024ULL #define HASH_SIZE 16384ULL
#define HASH_FN_SHIFT 13 #define HASH_FN_SHIFT 13
#define HASH_FN_MASK (HASH_SIZE - 1) #define HASH_FN_MASK (HASH_SIZE - 1)
...@@ -87,7 +87,7 @@ typedef bool (*match_fn)(struct dma_debug_entry *, struct dma_debug_entry *); ...@@ -87,7 +87,7 @@ typedef bool (*match_fn)(struct dma_debug_entry *, struct dma_debug_entry *);
struct hash_bucket { struct hash_bucket {
struct list_head list; struct list_head list;
spinlock_t lock; spinlock_t lock;
} ____cacheline_aligned_in_smp; };
/* Hash list to save the allocated dma addresses */ /* Hash list to save the allocated dma addresses */
static struct hash_bucket dma_entry_hash[HASH_SIZE]; static struct hash_bucket dma_entry_hash[HASH_SIZE];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment