Messages in this thread Patch in this message |  | | | From | Joerg Roedel <> | | Subject | [PATCH 2/2] dma-debug: Put all hash-chain locks into the same lock class | | Date | Fri, 3 Jul 2009 10:32:04 +0200 |
| |
From: Ingo Molnar <mingo@elte.hu>
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> --- 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 a9b6b5c..c9187fe 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) { -- 1.6.3.3
|  |