public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Increase lockdep MAX_LOCK_DEPTH
@ 2007-08-31  4:43 Eric Sandeen
  2007-08-31  6:39 ` Peter Zijlstra
  0 siblings, 1 reply; 11+ messages in thread
From: Eric Sandeen @ 2007-08-31  4:43 UTC (permalink / raw)
  To: linux-kernel Mailing List; +Cc: xfs-oss

The xfs filesystem can exceed the current lockdep 
MAX_LOCK_DEPTH, because when deleting an entire cluster of inodes,
they all get locked in xfs_ifree_cluster().  The normal cluster
size is 8192 bytes, and with the default (and minimum) inode size 
of 256 bytes, that's up to 32 inodes that get locked.  Throw in a 
few other locks along the way, and 40 seems enough to get me through
all the tests in the xfsqa suite on 4k blocks.  (block sizes
above 8K will still exceed this though, I think)

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Index: linux-2.6.23-rc3/include/linux/sched.h
===================================================================
--- linux-2.6.23-rc3.orig/include/linux/sched.h
+++ linux-2.6.23-rc3/include/linux/sched.h
@@ -1125,7 +1125,7 @@ struct task_struct {
 	int softirq_context;
 #endif
 #ifdef CONFIG_LOCKDEP
-# define MAX_LOCK_DEPTH 30UL
+# define MAX_LOCK_DEPTH 40UL
 	u64 curr_chain_key;
 	int lockdep_depth;
 	struct held_lock held_locks[MAX_LOCK_DEPTH];

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2007-08-31 16:34 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-31  4:43 [PATCH] Increase lockdep MAX_LOCK_DEPTH Eric Sandeen
2007-08-31  6:39 ` Peter Zijlstra
2007-08-31 13:50   ` David Chinner
2007-08-31 14:33     ` Eric Sandeen
2007-08-31 14:36       ` Peter Zijlstra
2007-08-31 14:33     ` Peter Zijlstra
2007-08-31 15:05       ` David Chinner
2007-08-31 15:09         ` Peter Zijlstra
2007-08-31 15:11           ` Eric Sandeen
2007-08-31 15:19           ` David Chinner
2007-08-31 16:33           ` Josef Sipek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox