From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756019Ab1KRCTe (ORCPT ); Thu, 17 Nov 2011 21:19:34 -0500 Received: from mail-iy0-f174.google.com ([209.85.210.174]:59723 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752751Ab1KRCTd (ORCPT ); Thu, 17 Nov 2011 21:19:33 -0500 From: Yong Zhang To: linux-kernel@vger.kernel.org Cc: Andrew Morton , Ingo Molnar , James Morris , Peter Zijlstra , Kevin Cernekee , Thomas Gleixner , Steven Rostedt Subject: [RFC] [PATCH] printk: Don't emit console_cpu_notify() for CPU_DYING Date: Fri, 18 Nov 2011 10:19:24 +0800 Message-Id: <1321582764-22218-1-git-send-email-yong.zhang0@gmail.com> X-Mailer: git-send-email 1.7.5.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When running -rt, I got some warning when doing cpu hotplug, for details please check: http://marc.info/?l=linux-kernel&m=132143661616297&w=2 But seems the problem also exists in mainline, a typical scenario is: CPU A CPU B doing printk with console_sem held take_cpu_down(); cpu_notify(CPU_DYING); console_cpu_notify(); console_lock(); down(&console_sem); *BANG* up(&console_sem); Signed-off-by: Yong Zhang Cc: Andrew Morton Cc: Ingo Molnar Cc: James Morris Cc: Peter Zijlstra Cc: Kevin Cernekee Cc: Thomas Gleixner Cc: Steven Rostedt --- kernel/printk.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c index 535bc3b..ba0393e 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -1223,7 +1223,6 @@ static int __cpuinit console_cpu_notify(struct notifier_block *self, switch (action) { case CPU_ONLINE: case CPU_DEAD: - case CPU_DYING: case CPU_DOWN_FAILED: case CPU_UP_CANCELED: console_lock(); -- 1.7.5.4