2021-12-07 12:55:44

by 王擎

[permalink] [raw]
Subject: [PATCH] trace: use WARN instead of printk and WARN_ON

From: Wang Qing <[email protected]>

Simply use WARN instead of printk(KERN_WARNING, ...) and WARN_ON.

Signed-off-by: Wang Qing <[email protected]>
---
kernel/trace/trace_output.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 3547e71..e0348ec
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -775,8 +775,7 @@ int register_trace_event(struct trace_event *event)
list_add_tail(&event->list, list);

} else if (event->type > __TRACE_LAST_TYPE) {
- printk(KERN_WARNING "Need to add type to trace.h\n");
- WARN_ON(1);
+ WARN(1, "Need to add type to trace.h\n");
goto out;
} else {
/* Is this event already used */
@@ -1569,11 +1568,9 @@ __init static int init_events(void)
event = events[i];

ret = register_trace_event(event);
- if (!ret) {
- printk(KERN_WARNING "event %d failed to register\n",
- event->type);
- WARN_ON_ONCE(1);
- }
+ if (!ret)
+ WARN_ONCE(1, "event %d failed to register\n",
+ event->type);
}

return 0;
--
2.7.4



2021-12-07 14:18:49

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] trace: use WARN instead of printk and WARN_ON

On Tue, 7 Dec 2021 04:55:32 -0800
Qing Wang <[email protected]> wrote:

> From: Wang Qing <[email protected]>
>
> Simply use WARN instead of printk(KERN_WARNING, ...) and WARN_ON.
>
> Signed-off-by: Wang Qing <[email protected]>
> ---
> kernel/trace/trace_output.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index 3547e71..e0348ec
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -775,8 +775,7 @@ int register_trace_event(struct trace_event *event)
> list_add_tail(&event->list, list);
>
> } else if (event->type > __TRACE_LAST_TYPE) {
> - printk(KERN_WARNING "Need to add type to trace.h\n");
> - WARN_ON(1);
> + WARN(1, "Need to add type to trace.h\n");

If you are going to fix this, then please fix it properly.

} else if (WARN(event->type > __TRACE_LAST_TYPE,
"Need to add type to trace.h")) {

> goto out;
> } else {
> /* Is this event already used */
> @@ -1569,11 +1568,9 @@ __init static int init_events(void)
> event = events[i];
>
> ret = register_trace_event(event);
> - if (!ret) {
> - printk(KERN_WARNING "event %d failed to register\n",
> - event->type);
> - WARN_ON_ONCE(1);
> - }
> + if (!ret)
> + WARN_ONCE(1, "event %d failed to register\n",
> + event->type);

And this should just turn into:

WARN_ONCE(!ret, "event %d failed to register", event->type);

-- Steve


> }
>
> return 0;


2021-12-08 08:12:03

by 王擎

[permalink] [raw]
Subject: RE: [PATCH] trace: use WARN instead of printk and WARN_ON


>> From: Wang Qing <[email protected]>
>>
>> Simply use WARN instead of printk(KERN_WARNING, ...) and WARN_ON.
>>
>> Signed-off-by: Wang Qing <[email protected]>
>> ---
>>  kernel/trace/trace_output.c | 11 ++++-------
>>  1 file changed, 4 insertions(+), 7 deletions(-)
>>
>> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
>> index 3547e71..e0348ec
>> --- a/kernel/trace/trace_output.c
>> +++ b/kernel/trace/trace_output.c
>> @@ -775,8 +775,7 @@ int register_trace_event(struct trace_event *event)
>>                list_add_tail(&event->list, list);
>> 
>>        } else if (event->type > __TRACE_LAST_TYPE) {
>> -             printk(KERN_WARNING "Need to add type to trace.h\n");
>> -             WARN_ON(1);
>> +             WARN(1, "Need to add type to trace.h\n");
>
>If you are going to fix this, then please fix it properly.

Is there any problem with this modification?

>
>       } else if (WARN(event->type > __TRACE_LAST_TYPE,
>>                       "Need to add type to trace.h")) {
>
>>                goto out;
>>        } else {
>>                /* Is this event already used */
>> @@ -1569,11 +1568,9 @@ __init static int init_events(void)
>>                event = events[i];
>> 
>>                ret = register_trace_event(event);
>> -             if (!ret) {
>> -                     printk(KERN_WARNING "event %d failed to register\n",
>> -                            event->type);
>> -                     WARN_ON_ONCE(1);
>> -             }
>> +             if (!ret)
>> +                     WARN_ONCE(1, "event %d failed to register\n",
>> +                               event->type);
>
>And this should just turn into:
>
>                WARN_ONCE(!ret, "event %d failed to register", event->type);

Yes,this should be right.

Thanks,
Qing

>-- Steve
>
>
>>        }
>> 
>>        return 0;

2022-04-24 19:36:45

by Guo Zhengkui

[permalink] [raw]
Subject: [PATCH v2] trace: use WARN instead of printk and WARN_ON

Use `WARN(cond, ...)` instead of `if (cond)` + `printk(...)` +
`WARN_ON(1)`.

Suggested-by: Steven Rostedt <[email protected]>
Signed-off-by: Guo Zhengkui <[email protected]>
---
v1 -> v2: Put WARN in the condition according to Steven's suggestion.

kernel/trace/trace_output.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 8aa493d25c73..d89e3f7e26eb 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -778,9 +778,8 @@ int register_trace_event(struct trace_event *event)

list_add_tail(&event->list, list);

- } else if (event->type > __TRACE_LAST_TYPE) {
- printk(KERN_WARNING "Need to add type to trace.h\n");
- WARN_ON(1);
+ } else if (WARN(event->type > __TRACE_LAST_TYPE,
+ "Need to add type to trace.h")) {
goto out;
} else {
/* Is this event already used */
@@ -1571,13 +1570,8 @@ __init static int init_events(void)

for (i = 0; events[i]; i++) {
event = events[i];
-
ret = register_trace_event(event);
- if (!ret) {
- printk(KERN_WARNING "event %d failed to register\n",
- event->type);
- WARN_ON_ONCE(1);
- }
+ WARN_ONCE(!ret, "event %d failed to register", event->type);
}

return 0;
--
2.20.1

2022-04-25 08:25:57

by Guo Zhengkui

[permalink] [raw]
Subject: [PATCH v2] trace: use WARN instead of printk and WARN_ON

Use `WARN(cond, ...)` instead of `if (cond)` + `printk(...)` +
`WARN_ON(1)`.

Signed-off-by: Steven Rostedt <[email protected]>
Signed-off-by: Qing Wang <[email protected]>
Signed-off-by: Guo Zhengkui <[email protected]>
---
v1 -> v2: Put WARN in the condition according to Steven's suggestion.

kernel/trace/trace_output.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 8aa493d25c73..d89e3f7e26eb 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -778,9 +778,8 @@ int register_trace_event(struct trace_event *event)

list_add_tail(&event->list, list);

- } else if (event->type > __TRACE_LAST_TYPE) {
- printk(KERN_WARNING "Need to add type to trace.h\n");
- WARN_ON(1);
+ } else if (WARN(event->type > __TRACE_LAST_TYPE,
+ "Need to add type to trace.h")) {
goto out;
} else {
/* Is this event already used */
@@ -1571,13 +1570,8 @@ __init static int init_events(void)

for (i = 0; events[i]; i++) {
event = events[i];
-
ret = register_trace_event(event);
- if (!ret) {
- printk(KERN_WARNING "event %d failed to register\n",
- event->type);
- WARN_ON_ONCE(1);
- }
+ WARN_ONCE(!ret, "event %d failed to register", event->type);
}

return 0;
--
2.20.1