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; >>>> } >