|
@@ -210,17 +210,22 @@ struct rt_hash_bucket {
|
|
|
/*
|
|
|
* Instead of using one spinlock for each rt_hash_bucket, we use a table of spinlocks
|
|
|
* The size of this table is a power of two and depends on the number of CPUS.
|
|
|
+ * (on lockdep we have a quite big spinlock_t, so keep the size down there)
|
|
|
*/
|
|
|
-#if NR_CPUS >= 32
|
|
|
-#define RT_HASH_LOCK_SZ 4096
|
|
|
-#elif NR_CPUS >= 16
|
|
|
-#define RT_HASH_LOCK_SZ 2048
|
|
|
-#elif NR_CPUS >= 8
|
|
|
-#define RT_HASH_LOCK_SZ 1024
|
|
|
-#elif NR_CPUS >= 4
|
|
|
-#define RT_HASH_LOCK_SZ 512
|
|
|
+#ifdef CONFIG_LOCKDEP
|
|
|
+# define RT_HASH_LOCK_SZ 256
|
|
|
#else
|
|
|
-#define RT_HASH_LOCK_SZ 256
|
|
|
+# if NR_CPUS >= 32
|
|
|
+# define RT_HASH_LOCK_SZ 4096
|
|
|
+# elif NR_CPUS >= 16
|
|
|
+# define RT_HASH_LOCK_SZ 2048
|
|
|
+# elif NR_CPUS >= 8
|
|
|
+# define RT_HASH_LOCK_SZ 1024
|
|
|
+# elif NR_CPUS >= 4
|
|
|
+# define RT_HASH_LOCK_SZ 512
|
|
|
+# else
|
|
|
+# define RT_HASH_LOCK_SZ 256
|
|
|
+# endif
|
|
|
#endif
|
|
|
|
|
|
static spinlock_t *rt_hash_locks;
|