Commit ca31e146 authored by Eduard - Gabriel Munteanu's avatar Eduard - Gabriel Munteanu Committed by Linus Torvalds

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: default avatarEduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Acked-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 84df87b7
#ifndef __LINUX_DEBUG_LOCKING_H #ifndef __LINUX_DEBUG_LOCKING_H
#define __LINUX_DEBUG_LOCKING_H #define __LINUX_DEBUG_LOCKING_H
#include <linux/kernel.h>
struct task_struct; struct task_struct;
extern int debug_locks; extern int debug_locks;
...@@ -11,14 +13,6 @@ extern int debug_locks_silent; ...@@ -11,14 +13,6 @@ extern int debug_locks_silent;
*/ */
extern int debug_locks_off(void); 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) \ #define DEBUG_LOCKS_WARN_ON(c) \
({ \ ({ \
int __ret = 0; \ int __ret = 0; \
......
...@@ -46,6 +46,9 @@ extern const char linux_proc_banner[]; ...@@ -46,6 +46,9 @@ extern const char linux_proc_banner[];
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) #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 #ifdef CONFIG_LBD
# include <asm/div64.h> # include <asm/div64.h>
# define sector_div(a, b) do_div(a, b) # define sector_div(a, b) do_div(a, b)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment