Subject: + printk-disable-preemption-for-printk_sched.patch added to -mm tree To: john.stultz@xxxxxxxxxx,jack@xxxxxxx,jbohac@xxxxxxx,mingo@xxxxxxxxxx,peterz@xxxxxxxxxxxxx,rostedt@xxxxxxxxxxx,tglx@xxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Mon, 05 May 2014 15:07:12 -0700 The patch titled Subject: printk: disable preemption for printk_sched has been added to the -mm tree. Its filename is printk-disable-preemption-for-printk_sched.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/printk-disable-preemption-for-printk_sched.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/printk-disable-preemption-for-printk_sched.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: John Stultz <john.stultz@xxxxxxxxxx> Subject: printk: disable preemption for printk_sched An earlier change in -mm (printk: remove separate printk_sched buffers...), removed the printk_sched irqsave/restore lines since it was safe for current users. Since we may be expanding usage of printk_sched(), disable preepmtion for this function to make it more generally safe to call. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Jiri Bohac <jbohac@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/printk/printk.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN kernel/printk/printk.c~printk-disable-preemption-for-printk_sched kernel/printk/printk.c --- a/kernel/printk/printk.c~printk-disable-preemption-for-printk_sched +++ a/kernel/printk/printk.c @@ -2589,12 +2589,14 @@ int printk_sched(const char *fmt, ...) va_list args; int r; + preempt_disable(); va_start(args, fmt); r = vprintk_emit(0, SCHED_MESSAGE_LOGLEVEL, NULL, 0, fmt, args); va_end(args); __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT); irq_work_queue(&__get_cpu_var(wake_up_klogd_work)); + preempt_enable(); return r; } _ Patches currently in -mm which might be from john.stultz@xxxxxxxxxx are printk-disable-preemption-for-printk_sched.patch printk-rename-printk_sched-to-printk_deferred.patch printk-add-printk_deferred_once.patch timekeeping-use-printk_deferred-when-holding-timekeeping-seqlock.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html