mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.14-rc3-rt2
Date: Tue, 11 Oct 2005 10:01:51 +0200	[thread overview]
Message-ID: <20051011080151.GA27401@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.58.0510061122530.418@localhost.localdomain>


* Steven Rostedt <rostedt@goodmis.org> wrote:

> Ingo, the following bug popped up.
> 
> BUG: scheduling while atomic: modprobe/0x00000001/3083
> caller is schedule+0x84/0x111
>  [<c0103fe2>] dump_stack+0x1e/0x20 (20)
>  [<c0323402>] __schedule+0x742/0xa94 (84)
>  [<c03237d8>] schedule+0x84/0x111 (28)
>  [<c0324a7b>] __down_mutex+0x56b/0x83a (116)
>  [<c0326bcf>] _spin_lock+0x1f/0x44 (28)
>  [<c0155070>] __kmalloc+0x6c/0x11d (36)
>  [<c021e989>] soft_cursor+0x61/0x1a8 (76)
>  [<c02175c4>] bit_cursor+0x2d3/0x588 (164)
>  [<c0212b4e>] fbcon_cursor+0x1be/0x307 (76)
>  [<c0213529>] fbcon_scroll+0x84/0xf5d (80)
>  [<c026bafd>] scrup+0xce/0xd8 (40)
>  [<c026d1a5>] lf+0x50/0x5d (28)
>  [<c026f3ad>] vt_console_print+0x116/0x2bb (56)
>  [<c011e9c4>] __call_console_drivers+0x47/0x56 (32)
>  [<c011ea4a>] _call_console_drivers+0x77/0x7e (24)
>  [<c011eaf6>] call_console_drivers+0xa5/0x183 (44)
>  [<c011f0af>] release_console_sem+0x2e/0xeb (32)
>  [<c011ef85>] vprintk+0x2aa/0x312 (108)
>  [<c011ecd9>] printk+0x1b/0x1d (20)
>  [<f8c2f04a>] usb_register_bus+0xf1/0x137 [usbcore] (36)

> I didn't know that down_mutex could cause the scheduling while atomic.  
> It seems that the driver inside the vt_console failed to grab a lock, 
> and this will output, since printk does a raw_spin_lock_irqsave that 
> seems to also do a preempt_disable. (the kmallocs are GFP_ATOMIC).

it's vprintk keeping preemption disabled, and then calling the console 
drivers, which may reschedule. The patch below should solve this.

	Ingo

Index: linux/kernel/printk.c
===================================================================
--- linux.orig/kernel/printk.c
+++ linux/kernel/printk.c
@@ -545,6 +545,7 @@ asmlinkage int vprintk(const char *fmt, 
 	/* This stops the holder of console_sem just where we want him */
 	spin_lock_irqsave(&logbuf_lock, flags);
 	printk_cpu = smp_processor_id();
+	preempt_enable();
 
 	/* Emit the output into the temporary buffer */
 	printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args);
@@ -637,7 +638,6 @@ asmlinkage int vprintk(const char *fmt, 
 		spin_unlock_irqrestore(&logbuf_lock, flags);
 	}
 out:
-	preempt_enable();
 	return printed_len;
 }
 EXPORT_SYMBOL(printk);

  parent reply	other threads:[~2005-10-11  8:01 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-04  8:44 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 12:51 ` 2.6.14-rc3-rt2 K.R. Foley
2005-10-04 13:00   ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 13:45     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-04 14:27       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 15:16         ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:32           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 15:50             ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:46               ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 16:09                 ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:34           ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 16:09           ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 16:32             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-04 16:46               ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 17:58             ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 17:54               ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 18:11                 ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 18:27                   ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 20:03                     ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-05  7:37                       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 14:25     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05  7:39       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 16:44     ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 18:11       ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 18:20         ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 18:58           ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 20:45             ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 20:49               ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 20:53                 ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 21:21                   ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-05 10:56                 ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 17:14                   ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06  7:54                     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:06                     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:10                       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:29                         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:33                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:44                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06 16:04                             ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06  8:37                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:37                         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:49                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  9:48                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06 10:04                               ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-06 11:08                                 ` [PATCH] cleanup u32 flags in acpi spin_lock calls Steven Rostedt
2005-10-06 16:25                                 ` 2.6.14-rc3-rt2 Luck, Tony
2005-10-06 15:26                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:08                               ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:15                                 ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-07 12:38                                   ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 13:26                                     ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-11  8:01                               ` Ingo Molnar [this message]
2005-10-11  9:09                                 ` 2.6.14-rc3-rt12 Steven Rostedt
2005-10-11  9:12                                   ` 2.6.14-rc3-rt12 Ingo Molnar
2005-10-06  9:48                           ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-06  9:36                         ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-04 20:51               ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05  7:12               ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 14:50                 ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05  7:41               ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 20:38           ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06 14:31           ` 2.6.14-rc3-rt2 Lee Revell
2005-10-06 15:00             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 13:36 ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 14:29   ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 15:41     ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-05 15:48     ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05 15:58       ` 2.6.14-rc3-rt2 david singleton
2005-10-05 16:08         ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05 16:13           ` 2.6.14-rc3-rt2 david singleton
2005-10-05 15:58       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 16:07         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:05           ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:14             ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 14:41   ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 20:24 ` 2.6.14-rc3-rt2 Esben Nielsen
2005-10-06 16:47 ` 2.6.14-rc3-rt2 Todd Kneisel
2005-10-06 17:18   ` 2.6.14-rc3-rt2 david singleton

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=20051011080151.GA27401@elte.hu \
    --to=mingo@elte.hu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /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®