staging: lustre: move stack-check macros to libcfs_debug.h
CDEBUG_STACK() and CHECK_STACK() are macros to help with debugging, so move them from drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h to drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h This seems a more fitting location, and is a step towards removing linux/libcfs.h and simplifying the include file structure. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1b60f6dfa3
commit
f8c527ae41
@ -62,6 +62,38 @@ int libcfs_debug_str2mask(int *mask, const char *str, int is_subsys);
|
||||
extern unsigned int libcfs_catastrophe;
|
||||
extern unsigned int libcfs_panic_on_lbug;
|
||||
|
||||
/* Enable debug-checks on stack size - except on x86_64 */
|
||||
#if !defined(__x86_64__)
|
||||
# ifdef __ia64__
|
||||
# define CDEBUG_STACK() (THREAD_SIZE - \
|
||||
((unsigned long)__builtin_dwarf_cfa() & \
|
||||
(THREAD_SIZE - 1)))
|
||||
# else
|
||||
# define CDEBUG_STACK() (THREAD_SIZE - \
|
||||
((unsigned long)__builtin_frame_address(0) & \
|
||||
(THREAD_SIZE - 1)))
|
||||
# endif /* __ia64__ */
|
||||
|
||||
#define __CHECK_STACK(msgdata, mask, cdls) \
|
||||
do { \
|
||||
if (unlikely(CDEBUG_STACK() > libcfs_stack)) { \
|
||||
LIBCFS_DEBUG_MSG_DATA_INIT(msgdata, D_WARNING, NULL); \
|
||||
libcfs_stack = CDEBUG_STACK(); \
|
||||
libcfs_debug_msg(msgdata, \
|
||||
"maximum lustre stack %lu\n", \
|
||||
CDEBUG_STACK()); \
|
||||
(msgdata)->msg_mask = mask; \
|
||||
(msgdata)->msg_cdls = cdls; \
|
||||
dump_stack(); \
|
||||
/*panic("LBUG");*/ \
|
||||
} \
|
||||
} while (0)
|
||||
#define CFS_CHECK_STACK(msgdata, mask, cdls) __CHECK_STACK(msgdata, mask, cdls)
|
||||
#else /* __x86_64__ */
|
||||
#define CFS_CHECK_STACK(msgdata, mask, cdls) do {} while (0)
|
||||
#define CDEBUG_STACK() (0L)
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#ifndef DEBUG_SUBSYSTEM
|
||||
# define DEBUG_SUBSYSTEM S_UNDEFINED
|
||||
#endif
|
||||
|
@ -80,35 +80,4 @@
|
||||
#include <stdarg.h>
|
||||
#include "linux-cpu.h"
|
||||
|
||||
#if !defined(__x86_64__)
|
||||
# ifdef __ia64__
|
||||
# define CDEBUG_STACK() (THREAD_SIZE - \
|
||||
((unsigned long)__builtin_dwarf_cfa() & \
|
||||
(THREAD_SIZE - 1)))
|
||||
# else
|
||||
# define CDEBUG_STACK() (THREAD_SIZE - \
|
||||
((unsigned long)__builtin_frame_address(0) & \
|
||||
(THREAD_SIZE - 1)))
|
||||
# endif /* __ia64__ */
|
||||
|
||||
#define __CHECK_STACK(msgdata, mask, cdls) \
|
||||
do { \
|
||||
if (unlikely(CDEBUG_STACK() > libcfs_stack)) { \
|
||||
LIBCFS_DEBUG_MSG_DATA_INIT(msgdata, D_WARNING, NULL); \
|
||||
libcfs_stack = CDEBUG_STACK(); \
|
||||
libcfs_debug_msg(msgdata, \
|
||||
"maximum lustre stack %lu\n", \
|
||||
CDEBUG_STACK()); \
|
||||
(msgdata)->msg_mask = mask; \
|
||||
(msgdata)->msg_cdls = cdls; \
|
||||
dump_stack(); \
|
||||
/*panic("LBUG");*/ \
|
||||
} \
|
||||
} while (0)
|
||||
#define CFS_CHECK_STACK(msgdata, mask, cdls) __CHECK_STACK(msgdata, mask, cdls)
|
||||
#else /* __x86_64__ */
|
||||
#define CFS_CHECK_STACK(msgdata, mask, cdls) do {} while (0)
|
||||
#define CDEBUG_STACK() (0L)
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#endif /* _LINUX_LIBCFS_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user