All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: "Linus Torvalds" <torvalds@linux-foundation.org>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Franck Bui" <fbui@suse.com>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH -v2 1/2] ratelimit: Extend to print suppressed messages on release
Date: Fri, 1 Jul 2016 10:22:47 +0200	[thread overview]
Message-ID: <20160701082247.GA27709@gmail.com> (raw)
In-Reply-To: <1467194161-1472-2-git-send-email-bp@alien8.de>


* Borislav Petkov <bp@alien8.de> wrote:

> +/* issue num suppressed message on exit */
> +#define RATELIMIT_MSG_ON_RELEASE	BIT(0)

So this flag says that we should issue a ratelimit message when it occurs.

> +static inline void ratelimit_state_exit(struct ratelimit_state *rs)
> +{
> +	if (!(rs->flags & RATELIMIT_MSG_ON_RELEASE))
> +		return;
> +
> +	if (rs->missed)
> +		printk(KERN_WARNING "%s: %d callbacks suppressed\n",
> +		       current->comm, rs->missed);

... here we print the message if the RATELIMIT_MSG_ON_RELEASE bit is set.

> +++ b/lib/ratelimit.c
> @@ -46,12 +46,14 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func)
>  		rs->begin = jiffies;
>  
>  	if (time_is_before_jiffies(rs->begin + rs->interval)) {
> -		if (rs->missed)
> +		if (rs->missed && !(rs->flags & RATELIMIT_MSG_ON_RELEASE))
>  			printk(KERN_WARNING "%s: %d callbacks suppressed\n",
>  				func, rs->missed);

But here we print the message if the RATELIMIT_MSG_ON_RELEASE bit is zero.
Is that intentional?

Also, while we are changing it, I'd like to suggest a different message - it's 
talking about 'callbacks' but there's no callback here - we are skipping kernel 
log messages. So how about:

	pr_warn("%s: %d kernel log lines skipped, due to rate-limiting.\n"

Thanks,

	Ingo

  parent reply	other threads:[~2016-07-01  8:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-29  9:55 [PATCH -v2 0/2] printk.kmsg: Ratelimit it by default Borislav Petkov
2016-06-29  9:56 ` [PATCH -v2 1/2] ratelimit: Extend to print suppressed messages on release Borislav Petkov
2016-06-29 10:24   ` Joe Perches
2016-06-29 14:25     ` Borislav Petkov
2016-07-01  8:22   ` Ingo Molnar [this message]
2016-07-01  9:07     ` Borislav Petkov
2016-07-01 10:17       ` Ingo Molnar
2016-07-01 10:29         ` Borislav Petkov
2016-07-01 10:38           ` Ingo Molnar
2016-06-29  9:56 ` [PATCH -v2 2/2] printk: Add kernel parameter to control writes to /dev/kmsg Borislav Petkov
2016-07-01  9:04   ` Ingo Molnar
2016-07-01  9:17     ` Borislav Petkov
2016-07-01 10:20       ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160701082247.GA27709@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=fbui@suse.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=torvalds@linux-foundation.org \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.