Move _RET_IP_ and _THIS_IP_ to include/linux/kernel.h
PATCH 1/1 Move _RET_IP_ and _THIS_IP_ to include/linux/kernel.h
These two macros are useful beyond lock debugging. Moved definitions from include/linux/debug_locks.h to include/linux/kernel.h, so code that needs them does not have to include the former, which would have been a less intuitive choice of a header.
Signed-off-by Eduard - Gabriel Munteanu <[email protected]>
--- include/linux/debug_locks.h | 10 ++-------- include/linux/kernel.h | 3 +++ 2 files changed, 5 insertions(+), 8 deletions(-)
include/linux/debug_locks.h +2 -8
@@ -1,6 +1,8 @@#ifndef __LINUX_DEBUG_LOCKING_H#define __LINUX_DEBUG_LOCKING_H +#include <linux/kernel.h> +struct task_struct ;extern int debug_locks;
@@ -11,14 +13,6 @@ extern int debug_locks_silent;*/ extern int debug_locks_off (void ); -/* -* In the debug case we carry the caller's instruction pointer into -* other functions, but we dont want the function argument overhead -* in the nondebug case - hence these macros: -*/ -#define _RET_IP_ (unsigned long)__builtin_return_address(0) -#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) -#define DEBUG_LOCKS_WARN_ON (c) \ ({ \ int __ret = 0; \
include/linux/kernel.h +3 -0
@@ -46,6 +46,9 @@ extern const char linux_proc_banner[];#define DIV_ROUND_UP (n,d) (((n) + (d) - 1) / (d))#define roundup (x, y) ((((x) + ((y) - 1)) / (y)) * (y)) +#define _RET_IP_ (unsigned long)__builtin_return_address(0) +#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) +#ifdef CONFIG_LBD # include <asm/div64.h> # define sector_div (a, b) do_div(a, b)
Signature · 1 line
1.5.5.4
Quoted 6 lines · Eduard - Gabriel Munteanu
These two macros are useful beyond lock debugging. Moved definitions from
include/linux/debug_locks.htoinclude/linux/kernel.h, so code that needs them does not have to include the former, which would have been a less intuitive choice of a header.Signed-off-by Eduard - Gabriel Munteanu <[email protected]>
Acked-by Pekka Enberg <[email protected]>