2013-04-30 18:46:12

by Davidlohr Bueso

[permalink] [raw]
Subject: [PATCH] softirq: use _RET_IP_

From: Davidlohr Bueso <[email protected]>

Use the already defined macro to pass the function return address.

Signed-off-by: Davidlohr Bueso <[email protected]>
---
kernel/softirq.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/kernel/softirq.c b/kernel/softirq.c
index 14d7758..8cd0d58 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -127,8 +127,7 @@ static inline void __local_bh_disable(unsigned long ip, unsigned int cnt)

void local_bh_disable(void)
{
- __local_bh_disable((unsigned long)__builtin_return_address(0),
- SOFTIRQ_DISABLE_OFFSET);
+ __local_bh_disable(_RET_IP_, SOFTIRQ_DISABLE_OFFSET);
}

EXPORT_SYMBOL(local_bh_disable);
@@ -139,7 +138,7 @@ static void __local_bh_enable(unsigned int cnt)
WARN_ON_ONCE(!irqs_disabled());

if (softirq_count() == cnt)
- trace_softirqs_on((unsigned long)__builtin_return_address(0));
+ trace_softirqs_on(_RET_IP_);
sub_preempt_count(cnt);
}

@@ -184,7 +183,7 @@ static inline void _local_bh_enable_ip(unsigned long ip)

void local_bh_enable(void)
{
- _local_bh_enable_ip((unsigned long)__builtin_return_address(0));
+ _local_bh_enable_ip(_RET_IP_);
}
EXPORT_SYMBOL(local_bh_enable);

@@ -223,8 +222,7 @@ asmlinkage void __do_softirq(void)
pending = local_softirq_pending();
account_irq_enter_time(current);

- __local_bh_disable((unsigned long)__builtin_return_address(0),
- SOFTIRQ_OFFSET);
+ __local_bh_disable(_RET_IP_, SOFTIRQ_OFFSET);
lockdep_softirq_enter();

cpu = smp_processor_id();
--
1.7.11.7



2013-05-07 00:03:24

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [PATCH] softirq: use _RET_IP_

On Tue, Apr 30, 2013 at 11:46:09AM -0700, Davidlohr Bueso wrote:
> From: Davidlohr Bueso <[email protected]>
>
> Use the already defined macro to pass the function return address.
>
> Signed-off-by: Davidlohr Bueso <[email protected]>

Reviewed-by: Frederic Weisbecker <[email protected]>

Thanks.

Subject: [tip:irq/core] softirq: Use _RET_IP_

Commit-ID: d2e08473f2488d53a71c2f53455f934ec6c44c53
Gitweb: http://git.kernel.org/tip/d2e08473f2488d53a71c2f53455f934ec6c44c53
Author: Davidlohr Bueso <[email protected]>
AuthorDate: Tue, 30 Apr 2013 11:46:09 -0700
Committer: Thomas Gleixner <[email protected]>
CommitDate: Fri, 28 Jun 2013 14:10:57 +0200

softirq: Use _RET_IP_

Use the already defined macro to pass the function return address.

Signed-off-by: Davidlohr Bueso <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
---
kernel/softirq.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/kernel/softirq.c b/kernel/softirq.c
index b5197dc..a5f8836 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -127,8 +127,7 @@ static inline void __local_bh_disable(unsigned long ip, unsigned int cnt)

void local_bh_disable(void)
{
- __local_bh_disable((unsigned long)__builtin_return_address(0),
- SOFTIRQ_DISABLE_OFFSET);
+ __local_bh_disable(_RET_IP_, SOFTIRQ_DISABLE_OFFSET);
}

EXPORT_SYMBOL(local_bh_disable);
@@ -139,7 +138,7 @@ static void __local_bh_enable(unsigned int cnt)
WARN_ON_ONCE(!irqs_disabled());

if (softirq_count() == cnt)
- trace_softirqs_on((unsigned long)__builtin_return_address(0));
+ trace_softirqs_on(_RET_IP_);
sub_preempt_count(cnt);
}

@@ -184,7 +183,7 @@ static inline void _local_bh_enable_ip(unsigned long ip)

void local_bh_enable(void)
{
- _local_bh_enable_ip((unsigned long)__builtin_return_address(0));
+ _local_bh_enable_ip(_RET_IP_);
}
EXPORT_SYMBOL(local_bh_enable);

@@ -223,8 +222,7 @@ asmlinkage void __do_softirq(void)
pending = local_softirq_pending();
account_irq_enter_time(current);

- __local_bh_disable((unsigned long)__builtin_return_address(0),
- SOFTIRQ_OFFSET);
+ __local_bh_disable(_RET_IP_, SOFTIRQ_OFFSET);
lockdep_softirq_enter();

cpu = smp_processor_id();