kernel/softirq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Adjust the printing format from the function address to
the function name.
Signed-off-by: Enlin Mu <enlin.mu@unisoc.com>
Signed-off-by: Enlin Mu <enlin.mu@linux.dev>
---
kernel/softirq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 77198911b8dd..68ef18616fb9 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -622,7 +622,7 @@ static void handle_softirqs(bool ksirqd)
h->action();
trace_softirq_exit(vec_nr);
if (unlikely(prev_count != preempt_count())) {
- pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n",
+ pr_err("huh, entered softirq %u %s %pS with preempt_count %08x, exited with %08x?\n",
vec_nr, softirq_to_name[vec_nr], h->action,
prev_count, preempt_count());
preempt_count_set(prev_count);
--
2.39.5
On 2026/1/5 17:41, Enlin Mu wrote:
> Adjust the printing format from the function address to
> the function name.
>
> Signed-off-by: Enlin Mu <enlin.mu@unisoc.com>
> Signed-off-by: Enlin Mu <enlin.mu@linux.dev>
> ---
> kernel/softirq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/softirq.c b/kernel/softirq.c
> index 77198911b8dd..68ef18616fb9 100644
> --- a/kernel/softirq.c
> +++ b/kernel/softirq.c
> @@ -622,7 +622,7 @@ static void handle_softirqs(bool ksirqd)
> h->action();
> trace_softirq_exit(vec_nr);
> if (unlikely(prev_count != preempt_count())) {
> - pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n",
> + pr_err("huh, entered softirq %u %s %pS with preempt_count %08x, exited with %08x?\n",
> vec_nr, softirq_to_name[vec_nr], h->action,
> prev_count, preempt_count());
Hi All
My test results are as follows:
before this patch:
[ 49.919574] softirq: huh, entered softirq 1 TIMER 00000000bb45ef3a
with preempt_count 00000101, exited with 00000101?
after this patch:
[ 49.919570] softirq: huh, entered softirq 1 TIMER
run_timer_softirq+0x0/0x108 with preempt_count 00000101, exited with
00000102?
> preempt_count_set(prev_count);
On Tue, Jan 06 2026 at 14:16, enlin.mu wrote:
> On 2026/1/5 17:41, Enlin Mu wrote:
>> Adjust the printing format from the function address to
>> the function name.
>>
>> Signed-off-by: Enlin Mu <enlin.mu@unisoc.com>
>> Signed-off-by: Enlin Mu <enlin.mu@linux.dev>
>> ---
>> kernel/softirq.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/softirq.c b/kernel/softirq.c
>> index 77198911b8dd..68ef18616fb9 100644
>> --- a/kernel/softirq.c
>> +++ b/kernel/softirq.c
>> @@ -622,7 +622,7 @@ static void handle_softirqs(bool ksirqd)
>> h->action();
>> trace_softirq_exit(vec_nr);
>> if (unlikely(prev_count != preempt_count())) {
>> - pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n",
>> + pr_err("huh, entered softirq %u %s %pS with preempt_count %08x, exited with %08x?\n",
>> vec_nr, softirq_to_name[vec_nr], h->action,
>> prev_count, preempt_count());
>
> Hi All
>
> My test results are as follows:
>
> before this patch:
>
> [ 49.919574] softirq: huh, entered softirq 1 TIMER 00000000bb45ef3a
> with preempt_count 00000101, exited with 00000101?
>
>
> after this patch:
>
> [ 49.919570] softirq: huh, entered softirq 1 TIMER
> run_timer_softirq+0x0/0x108 with preempt_count 00000101, exited with
> 00000102?
The TIMER softirq always invoked run_timer_softirq(). If that happens
then the interesting question is not the softirq action handler, but any
function it invoked from there. So there is _zero_ value of adding this.
Thanks,
tglx
On 2026-01-08 22:39:14 [+0100], Thomas Gleixner wrote: > On Tue, Jan 06 2026 at 14:16, enlin.mu wrote: > > On 2026/1/5 17:41, Enlin Mu wrote: > >> Adjust the printing format from the function address to > >> the function name. … > The TIMER softirq always invoked run_timer_softirq(). If that happens > then the interesting question is not the softirq action handler, but any > function it invoked from there. So there is _zero_ value of adding this. Removing h->action from the print would be an improvement. > Thanks, > > tglx Sebastian
On 2026/1/12 19:06, Sebastian Andrzej Siewior wrote: > On 2026-01-08 22:39:14 [+0100], Thomas Gleixner wrote: >> On Tue, Jan 06 2026 at 14:16, enlin.mu wrote: >>> On 2026/1/5 17:41, Enlin Mu wrote: >>>> Adjust the printing format from the function address to >>>> the function name. > … >> The TIMER softirq always invoked run_timer_softirq(). If that happens >> then the interesting question is not the softirq action handler, but any >> function it invoked from there. So there is _zero_ value of adding this. > > Removing h->action from the print would be an improvement. > If everyone agrees, I'll resubmit a patch. >> Thanks, >> >> tglx > > Sebastian
© 2016 - 2026 Red Hat, Inc.