On (06/27/16 11:26), Petr Mladek wrote: > On Sat 2016-06-25 14:22:37, Sergey Senozhatsky wrote: > > On (06/24/16 18:05), Petr Mladek wrote: > > [..] > > > > +static bool should_ignore_loglevel(int level) > > > > +{ > > > > + return (level >= console_loglevel && !ignore_loglevel); > > > > > > The patch looks fine. It is nice optimization. > > > > > > I was just quite confused by the name of this function. A function > > > called should_ignore_loglevel() should not return false when > > > ignore_loglevel variable is true. > > > > > > I would call it ignore_message() or ignore_message_on_console() or so. > > > > Hello Petr, you are right. > > > > I was thinking about > > > > s/should_ignore_loglevel/suppress_message/g > > or.... s/should_ignore_loglevel/suppress_message_by_level/g > > s/should_ignore_loglevel/suppress_message_printing/g > > > > suppress_message_printing() is probably fine. > > All variants look fine to me. After renaming, feel free to > add: > > Reviewed-by: Petr Mladek <pmla...@suse.com> >
thanks. > PS: The ignore_loglevel handling is a bit racy in some situations. > For example, uv_nmi_dump_state() or __handle_sysrq() set another > level, print some messages, and restore the original level. They > do not wait until all the printed messages appear on the console. > Also they do not synchronize against each other. > __handle_sysrq() also assumes that only cpu printk-s, so it does KERN_CONT printks in SMP mode. and there are billions of places that do things like this. as of deferred loglevel check, we probably can add "console_loglevel:3;" to 'struct printk_log' and `static struct cont', and keep there console_loglevel actual at the time the was appeneded to the log buffer. so then suppress_message_printing() will have one extra param bool suppress_message_printing(int leve, int cons_loglevel) { return (level >= cons_loglevel ...); } speaking of KERN_CONT, I've found one regression with async printk, and I think I now have some idea what's going on there, will post some-sort-of-a-patch today or tomorrow. > I am not sure if we have already discussed this. It is not critical > and it works well most of the time. I just want to make sure that > you know about it as you have more plans with the printk/console code. thanks, I'll put in on a list; not sure we discussed this either. -ss