Re: [PATCH v2 3/3] power: process: use explicit levels for printk continuations
From: Thomas Weißschuh
Date: Fri Nov 25 2022 - 15:42:52 EST
On 2022-11-25 11:53-0800, Joe Perches wrote:
> On Fri, 2022-11-25 at 20:09 +0100, Thomas Weißschuh wrote:
>> Many of the printk messages emitted during suspend and resume are
>> emitted in fragments using pr_cont()/KERN_CONT.
>>
>> As during suspend and resume a lot of operations are happing in the
>> kernel the chances are high that the fragments are interspersed with
>> unrelated messages.
>>
>> In this case if no explicit level is specified for the fragments the
>> standard level is applied, which by default is KERN_WARNING.
>>
>> If the user is only observing KERN_WARNING and *not* KERN_INFO messages
>> they will see incomplete message fragments.
>>
>> By specifing the correct printk level also with the continuations this
>> mismatch can be avoided.
>> Also it reduces the amount of false-positive KERN_WARNING messages.
>>
>> Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
>> ---
>> kernel/power/process.c | 18 +++++++++---------
>> 1 file changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/kernel/power/process.c b/kernel/power/process.c
> []
>> @@ -82,7 +82,7 @@ static int try_to_freeze_tasks(bool user_only)
>> elapsed_msecs = ktime_to_ms(elapsed);
>>
>> if (todo) {
>> - pr_cont("\n");
>> + pr_info_cont("\n");
>
> I think this isn't needed because of the immediately following pr_err.
The pr_cont() itself or the conversion to pr_info_cont() is not needed?
Personally I would prefer to keep the patch as is.
If only the conversion is not needed for consistency with the rest of the file.
If the pr_cont() in general is not needed it should be changed in a dedicated
patch (by somebody who knows this code better).
>> pr_err("Freezing of tasks %s after %d.%03d seconds "
>> "(%d tasks refusing to freeze, wq_busy=%d):\n",
>> wakeup ? "aborted" : "failed",
>