mirror of https://gitee.com/openkylin/linux.git
kconfig: centralize the selection of semaphore debugging in lib/Kconfig.debug
Remove the Kconfig selection of semaphore debugging from the ALPHA and FRV Kconfig files, and centralize it in lib/Kconfig.debug. There doesn't seem to be much point in letting individual architectures independently define the same Kconfig option when it can just as easily be put in a single Kconfig file and made dependent on a subset of architectures. that way, at least the option shows up in the same relative location in the menu each time. Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Cc: David Howells <dhowells@redhat.com> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f87367a6b1
commit
c761c84154
|
@ -16,14 +16,6 @@ config DEBUG_RWLOCK
|
|||
too many attempts. If you suspect a rwlock problem or a kernel
|
||||
hacker asks for this option then say Y. Otherwise say N.
|
||||
|
||||
config DEBUG_SEMAPHORE
|
||||
bool "Semaphore debugging"
|
||||
depends on DEBUG_KERNEL
|
||||
help
|
||||
If you say Y here then semaphore processing will issue lots of
|
||||
verbose debugging messages. If you suspect a semaphore problem or a
|
||||
kernel hacker asks for this option then say Y. Otherwise say N.
|
||||
|
||||
config ALPHA_LEGACY_START_ADDRESS
|
||||
bool "Legacy kernel start address"
|
||||
depends on ALPHA_GENERIC
|
||||
|
|
|
@ -19,7 +19,7 @@ struct sem_waiter {
|
|||
struct task_struct *task;
|
||||
};
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
void semtrace(struct semaphore *sem, const char *str)
|
||||
{
|
||||
if (sem->debug)
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/rwsem.h>
|
||||
|
||||
#define SEMAPHORE_DEBUG 0
|
||||
|
||||
/*
|
||||
* the semaphore definition
|
||||
* - if counter is >0 then there are tokens available on the semaphore for down to collect
|
||||
|
@ -32,12 +30,12 @@ struct semaphore {
|
|||
unsigned counter;
|
||||
spinlock_t wait_lock;
|
||||
struct list_head wait_list;
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
unsigned __magic;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
# define __SEM_DEBUG_INIT(name) , (long)&(name).__magic
|
||||
#else
|
||||
# define __SEM_DEBUG_INIT(name)
|
||||
|
@ -76,7 +74,7 @@ static inline void down(struct semaphore *sem)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
CHECK_MAGIC(sem->__magic);
|
||||
#endif
|
||||
|
||||
|
@ -95,7 +93,7 @@ static inline int down_interruptible(struct semaphore *sem)
|
|||
unsigned long flags;
|
||||
int ret = 0;
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
CHECK_MAGIC(sem->__magic);
|
||||
#endif
|
||||
|
||||
|
@ -119,7 +117,7 @@ static inline int down_trylock(struct semaphore *sem)
|
|||
unsigned long flags;
|
||||
int success = 0;
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
CHECK_MAGIC(sem->__magic);
|
||||
#endif
|
||||
|
||||
|
@ -136,7 +134,7 @@ static inline void up(struct semaphore *sem)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
#if SEMAPHORE_DEBUG
|
||||
#ifdef CONFIG_DEBUG_SEMAPHORE
|
||||
CHECK_MAGIC(sem->__magic);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -201,6 +201,16 @@ config DEBUG_MUTEXES
|
|||
This feature allows mutex semantics violations to be detected and
|
||||
reported.
|
||||
|
||||
config DEBUG_SEMAPHORE
|
||||
bool "Semaphore debugging"
|
||||
depends on DEBUG_KERNEL
|
||||
depends on ALPHA || FRV
|
||||
default n
|
||||
help
|
||||
If you say Y here then semaphore processing will issue lots of
|
||||
verbose debugging messages. If you suspect a semaphore problem or a
|
||||
kernel hacker asks for this option then say Y. Otherwise say N.
|
||||
|
||||
config DEBUG_LOCK_ALLOC
|
||||
bool "Lock debugging: detect incorrect freeing of live locks"
|
||||
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
||||
|
|
Loading…
Reference in New Issue