On Mon 2019-01-14 17:05:22, Sergey Senozhatsky wrote:
> On (01/11/19 17:20), Petr Mladek wrote:
> > +static void warn_console(bool console_suppressed,
> > +                    int orig_log_level,
> > +                    struct sysrq_key_op *op_p)
> > +{
> > +   static int warned;
> > +
> > +   if (warned)
> > +           return;
> > +
> > +   /* Do not warn when people are already setting loglevel via sysrq */
> > +   if (op_p->enable_mask & SYSRQ_ENABLE_LOG) {
> > +           warned = 1;
> > +           return;
> > +   }
> > +
> > +   if (console_suppressed) {
> > +           pr_info("Messages filtered by console_loglevel (%d)%s\n",
> > +                   orig_log_level,
> > +                   sysrq_on_mask(SYSRQ_ENABLE_LOG) ? ", try SysRq+7" : "");
> > +           warned = 1;
> > +   }
> > +}
> 
> I understand the intent.
> 
> Some comments:
> 
> - Not all of sysrq handlers printk() data. There are some quiet
>   handlers. E.g. sysrq_handle_unraw(). Having "Messages filtered by
>   console_loglevel" can be confusing.
> 
> - Not all sysrq handlers use INFO level.
>   E.g. sync_inodes_sb()->WARN_ON()->pr_warn(). So once again there can
>   be a "false positive" "Messages filtered" error, while in fact
>   no messages would be filtered out.
> 
> What do you think?

Yes, it has false positives. On the other hand, I do not think
that a better message is worth even more complicated code.

Either we find a better text, for example, use warning style:

    pr_warn("warning: messages are filtered by console loglevel (%d)%s\n"

or hint style:

    pr_info("hint: make sure to see all messages by increasing the
    console logvel, ...

or ???

Otherwise, I would just throw away this idea.

Best Regards,
Petr

Reply via email to