|
@@ -2946,16 +2946,6 @@ u64 scheduler_tick_max_deferment(void)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-notrace unsigned long get_parent_ip(unsigned long addr)
|
|
|
-{
|
|
|
- if (in_lock_functions(addr)) {
|
|
|
- addr = CALLER_ADDR2;
|
|
|
- if (in_lock_functions(addr))
|
|
|
- addr = CALLER_ADDR3;
|
|
|
- }
|
|
|
- return addr;
|
|
|
-}
|
|
|
-
|
|
|
#if defined(CONFIG_PREEMPT) && (defined(CONFIG_DEBUG_PREEMPT) || \
|
|
|
defined(CONFIG_PREEMPT_TRACER))
|
|
|
|
|
@@ -2977,7 +2967,7 @@ void preempt_count_add(int val)
|
|
|
PREEMPT_MASK - 10);
|
|
|
#endif
|
|
|
if (preempt_count() == val) {
|
|
|
- unsigned long ip = get_parent_ip(CALLER_ADDR1);
|
|
|
+ unsigned long ip = get_lock_parent_ip();
|
|
|
#ifdef CONFIG_DEBUG_PREEMPT
|
|
|
current->preempt_disable_ip = ip;
|
|
|
#endif
|
|
@@ -3004,7 +2994,7 @@ void preempt_count_sub(int val)
|
|
|
#endif
|
|
|
|
|
|
if (preempt_count() == val)
|
|
|
- trace_preempt_on(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));
|
|
|
+ trace_preempt_on(CALLER_ADDR0, get_lock_parent_ip());
|
|
|
__preempt_count_sub(val);
|
|
|
}
|
|
|
EXPORT_SYMBOL(preempt_count_sub);
|