diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-06-16 18:11:14 +0400 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-06-17 18:26:04 +0400 |
commit | b0a5b83ee0fce9dbf8ff5fe1f8c9ae7dfafe458c (patch) | |
tree | f36980eeb5eb2205478a523769b6730a19d9a3cf /lib | |
parent | c79ee4e466dd12347f112e2af306dca35198458f (diff) | |
download | linux-b0a5b83ee0fce9dbf8ff5fe1f8c9ae7dfafe458c.tar.xz |
dma-debug: Put all hash-chain locks into the same lock class
Alan Cox reported that lockdep runs out of its stack-trace entries
with certain configs:
BUG: MAX_STACK_TRACE_ENTRIES too low
This happens because there are 1024 hash buckets, each with a
separate lock. Lockdep puts each lock into a separate lock class and
tracks them independently.
But in reality we never take more than one of the buckets, so they
really belong into a single lock-class. Annotate the has bucket lock
init accordingly.
[ Impact: reduce the lockdep footprint of dma-debug ]
Reported-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dma-debug.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index a9b6b5c9e091..c9187fed0b93 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c @@ -716,7 +716,7 @@ void dma_debug_init(u32 num_entries) for (i = 0; i < HASH_SIZE; ++i) { INIT_LIST_HEAD(&dma_entry_hash[i].list); - dma_entry_hash[i].lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&dma_entry_hash[i].lock); } if (dma_debug_fs_init() != 0) { |