forked from luck/tmp_suning_uos_patched
printk: Add printk_deferred_once
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. Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Reviewed-by: 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> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
aac74dc495
commit
c224815dac
|
@ -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, ...) \
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue
Block a user