Re: [PATCH] mm: simplify node/zone name printing

From: Michal Hocko
Date: Mon Dec 19 2016 - 09:03:18 EST


On Mon 19-12-16 11:27:59, Petr Mladek wrote:
> On Mon 2016-12-19 09:12:10, Michal Hocko wrote:
> > On Mon 19-12-16 16:32:28, Sergey Senozhatsky wrote:
> > [...]
> > > as far as I can tell, now for_each_populated_zone() iterations are
> > > split by non-CONT printk() from show_zone_node(), which previously
> > > has been printk(KERN_CONT "%s: ", zone->name), so pr_cont(\n)
> > > between iterations was important, but now that non-CONT printk()
> > > should do the trick. it's _a bit_ hacky, though.
> >
> > Do you consider that more hacky than the original? At least for me,
> > starting with KERN_CONT and relying on an explicit \n sounds more error
> > prone than leaving the last pr_cont without \n and relying on the
> > implicit flushing.
>
> The missing '\n' will cause the string will not be flushed
> until another printk happens. It is not a problem here because
> other printk follows. But it might take a while in general.
>
> There was a commit[1] that flushed the cont lines when the log
> buffer was read via /dev/kmsg or syslog. Also there was a patch[2]
> that flushed cont lines using a timer. But the commit caused problems
> and was reverted[3]. Also the patch needs more testing. So, it might
> take a while until flushing partial cont lines is "guaranteed".

OK, fair enough. If the flushing partial cont lines is not guaranteed
then this cleanup makes less sense. I was under impression this has been
solved but as per your list of commits we are not there yet.

So let's just drop this patch and I will try to remember to double check
later.

Thanks!

--
Michal Hocko
SUSE Labs