From: Jan Kara <jack@suse.cz>
To: John Stultz <john.stultz@linaro.org>
Cc: LKML <linux-kernel@vger.kernel.org>, Jan Kara <jack@suse.cz>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Bohac <jbohac@suse.cz>, Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH 3/4] printk: Add printk_deferred_once
Date: Tue, 6 May 2014 13:26:02 +0200 [thread overview]
Message-ID: <20140506112602.GE9291@quack.suse.cz> (raw)
In-Reply-To: <1399322864-22861-4-git-send-email-john.stultz@linaro.org>
On Mon 05-05-14 13:47:43, John Stultz wrote:
> Two of the three prink_deferred uses are really printk_once style
> uses, so add a printk_deferred_once macro to simplify those call
> sites.
>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Jiri Bohac <jbohac@suse.cz>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
The patch looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> include/linux/printk.h | 11 +++++++++++
> kernel/sched/deadline.c | 7 +------
> kernel/sched/rt.c | 8 +-------
> 3 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/include/linux/printk.h b/include/linux/printk.h
> index 7847301..f086d6c 100644
> --- a/include/linux/printk.h
> +++ b/include/linux/printk.h
> @@ -266,9 +266,20 @@ extern asmlinkage void dump_stack(void) __cold;
> printk(fmt, ##__VA_ARGS__); \
> } \
> })
> +#define printk_deferred_once(fmt, ...) \
> +({ \
> + static bool __print_once __read_mostly; \
> + \
> + if (!__print_once) { \
> + __print_once = true; \
> + printk_deferred(fmt, ##__VA_ARGS__); \
> + } \
> +})
> #else
> #define printk_once(fmt, ...) \
> no_printk(fmt, ##__VA_ARGS__)
> +#define printk_deferred_once(fmt, ...) \
> + no_printk(fmt, ##__VA_ARGS__)
> #endif
>
> #define pr_emerg_once(fmt, ...) \
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index 657ed68..80837e9 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -348,12 +348,7 @@ static void replenish_dl_entity(struct sched_dl_entity *dl_se,
> * entity.
> */
> if (dl_time_before(dl_se->deadline, rq_clock(rq))) {
> - static bool lag_once = false;
> -
> - if (!lag_once) {
> - lag_once = true;
> - printk_deferred("sched: DL replenish lagged to much\n");
> - }
> + printk_deferred_once("sched: DL replenish lagged to much\n");
> dl_se->deadline = rq_clock(rq) + pi_se->dl_deadline;
> dl_se->runtime = pi_se->dl_runtime;
> }
> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index e7dc728..ea4d500 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -890,14 +890,8 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
> * but accrue some time due to boosting.
> */
> if (likely(rt_b->rt_runtime)) {
> - static bool once = false;
> -
> rt_rq->rt_throttled = 1;
> -
> - if (!once) {
> - once = true;
> - printk_deferred("sched: RT throttling activated\n");
> - }
> + printk_deferred_once("sched: RT throttling activated\n");
> } else {
> /*
> * In case we did anyway, make it go away,
> --
> 1.9.1
>
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
next prev parent reply other threads:[~2014-05-06 11:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-05 20:47 [PATCH 0/4] Convert timekeeping core to use printk_deferred (v3) John Stultz
2014-05-05 20:47 ` [PATCH 1/4] printk: Disable preemption for printk_sched John Stultz
2014-05-06 10:10 ` Jan Kara
2014-05-05 20:47 ` [PATCH 2/4] printk: Rename printk_sched to printk_deferred John Stultz
2014-05-06 10:11 ` Jan Kara
2014-05-05 20:47 ` [PATCH 3/4] printk: Add printk_deferred_once John Stultz
2014-05-06 11:26 ` Jan Kara [this message]
2014-05-05 20:47 ` [PATCH 4/4] timekeeping: Use printk_deferred when holding timekeeping seqlock John Stultz
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=20140506112602.GE9291@quack.suse.cz \
--to=jack@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=jbohac@suse.cz \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®