Re: [PATCH 3/3] refscale: always log the error message

From: lizhijian@xxxxxxxxxxx
Date: Wed Oct 27 2021 - 03:28:52 EST


Hi Paul

During adding the missing '\n', i also found there are some verbose control error message
Should we convert it like [PATCH 3/3] refscale: always log the error message

lizj@FNSTPC: linux$ git grep VERBOSE.*_ERRSTRING
include/linux/torture.h:#define VERBOSE_TOROUT_ERRSTRING(s) \
kernel/locking/locktorture.c: VERBOSE_TOROUT_ERRSTRING("writer_tasks: Out of memory");
kernel/locking/locktorture.c: VERBOSE_TOROUT_ERRSTRING("reader_tasks: Out of memory");
kernel/rcu/rcuscale.c:#define VERBOSE_SCALEOUT_ERRSTRING(s) \
kernel/rcu/rcuscale.c:          VERBOSE_SCALEOUT_ERRSTRING("All grace periods expedited, no normal ones to measure!");
kernel/rcu/rcuscale.c:          VERBOSE_SCALEOUT_ERRSTRING("All grace periods normal, no expedited ones to measure!");
kernel/rcu/rcuscale.c:          VERBOSE_SCALEOUT_ERRSTRING("No expedited async GPs, so went with async!");
kernel/rcu/rcuscale.c:          VERBOSE_SCALEOUT_ERRSTRING("out of memory");
kernel/rcu/rcuscale.c:          VERBOSE_SCALEOUT_ERRSTRING("out of memory");
kernel/rcu/rcutorture.c: VERBOSE_TOROUT_ERRSTRING("out of memory");
kernel/rcu/rcutorture.c: VERBOSE_TOROUT_ERRSTRING("out of memory");
kernel/rcu/rcutorture.c: VERBOSE_TOROUT_ERRSTRING("out of memory");
kernel/rcu/rcutorture.c: VERBOSE_TOROUT_ERRSTRING("out of memory");
kernel/scftorture.c:#define VERBOSE_SCFTORTOUT_ERRSTRING(s, x...) \
kernel/scftorture.c:            VERBOSE_SCFTORTOUT_ERRSTRING("all zero weights makes no sense");
kernel/scftorture.c:            VERBOSE_SCFTORTOUT_ERRSTRING("built as module, weight_resched ignored");
kernel/scftorture.c:            VERBOSE_SCFTORTOUT_ERRSTRING("out of memory");
kernel/torture.c:               VERBOSE_TOROUT_ERRSTRING("Failed to alloc mask");
kernel/torture.c:               VERBOSE_TOROUT_ERRSTRING(f);



Thanks



On 27/10/2021 13:17, Li Zhijian wrote:
>
>
> On 26/10/2021 22:06, Paul E. McKenney wrote:
>> On Mon, Oct 25, 2021 at 06:12:40AM +0000, lizhijian@xxxxxxxxxxx wrote:
>>>
>>> On 25/10/2021 11:26, Li Zhijian wrote:
>>>> Generally, error message should be logged anyhow.
>>>>
>>>> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxxxxx>
>>>> ---
>>>>    kernel/rcu/refscale.c | 8 ++++----
>>>>    1 file changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/kernel/rcu/refscale.c b/kernel/rcu/refscale.c
>>>> index a4479f00dcdc..f055d168365a 100644
>>>> --- a/kernel/rcu/refscale.c
>>>> +++ b/kernel/rcu/refscale.c
>>>> @@ -58,8 +58,8 @@ do {                                            \
>>>>        }                                        \
>>>>    } while (0)
>>>>    -#define VERBOSE_SCALEOUT_ERRSTRING(s, x...) \
>>>> -    do { if (verbose) pr_alert("%s" SCALE_FLAG "!!! " s, scale_type, ## x); } while (0)
>>>> +#define SCALEOUT_ERRSTRING(s, x...) \
>>>> +    do { pr_alert("%s" SCALE_FLAG "!!! " s, scale_type, ## x); } while (0)
>>>>       MODULE_LICENSE("GPL");
>>>>    MODULE_AUTHOR("Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>");
>>>> @@ -651,7 +651,7 @@ static int main_func(void *arg)
>>>>        result_avg = kzalloc(nruns * sizeof(*result_avg), GFP_KERNEL);
>>>>        buf = kzalloc(800 + 64, GFP_KERNEL);
>>>>        if (!result_avg || !buf) {
>>>> -        VERBOSE_SCALEOUT_ERRSTRING("out of memory");
>>>> +        SCALEOUT_ERRSTRING("out of memory");
>>> '\n' should be added to the last to flush it.
>> And there might well be other missing "\n" instances in similar messages
>> in rcuscale.c, rcutorture.c, scftorture.c, locktorture.c, and torture.c.
>> Please feel free to send a patch for each file needing this help.
>
> Sure, i will do that.
>
> Thanks
> Zhijian
>
>> I queued your other three patches for v5.17 (not this coming merge window,
>> but the one after that), thank you!  I did wordsmith the commit logs,
>> so please check to see if I messed anything up.
>>
>>                             Thanx, Paul
>>
>>>>            goto oom_exit;
>>>>        }
>>>>        if (holdoff)
>>>> @@ -837,7 +837,7 @@ ref_scale_init(void)
>>>>        reader_tasks = kcalloc(nreaders, sizeof(reader_tasks[0]),
>>>>                       GFP_KERNEL);
>>>>        if (!reader_tasks) {
>>>> -        VERBOSE_SCALEOUT_ERRSTRING("out of memory");
>>>> +        SCALEOUT_ERRSTRING("out of memory");
>>> ditto
>>>
>>> Thanks
>>> Zhijian
>>>>            firsterr = -ENOMEM;
>>>>            goto unwind;
>>>>        }
>