[PATCH] rcu: remove SPARSE_RCU_POINTER

From: Lai Jiangshan
Date: Tue Jan 04 2011 - 03:42:44 EST



As I known, __rcu annotations do not effect the result compiled kernel.

They work only when we use spare("make C=1" or "make C=2"),
So we don't need another new switch for it since we have one
for debugging(use spare or not).

signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
---
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 320d6c9..0ab21c2 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -16,11 +16,7 @@
# define __release(x) __context__(x,-1)
# define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0)
# define __percpu __attribute__((noderef, address_space(3)))
-#ifdef CONFIG_SPARSE_RCU_POINTER
# define __rcu __attribute__((noderef, address_space(4)))
-#else
-# define __rcu
-#endif
extern void __chk_user_ptr(const volatile void __user *);
extern void __chk_io_ptr(const volatile void __iomem *);
#else
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8be18e5..bf9c5d3 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -563,21 +563,6 @@ config PROVE_RCU_REPEATEDLY

Say N if you are unsure.

-config SPARSE_RCU_POINTER
- bool "RCU debugging: sparse-based checks for pointer usage"
- default n
- help
- This feature enables the __rcu sparse annotation for
- RCU-protected pointers. This annotation will cause sparse
- to flag any non-RCU used of annotated pointers. This can be
- helpful when debugging RCU usage. Please note that this feature
- is not intended to enforce code cleanliness; it is instead merely
- a debugging aid.
-
- Say Y to make sparse flag questionable use of RCU-protected pointers
-
- Say N if you are unsure.
-
config LOCKDEP
bool
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/