mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Roland Dreier <roland@digitalvampire.org>
To: Andrew Morton <akpm@osdl.org>
Cc: torvalds@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Linux 2.6.0-test8 __might_sleep warnings on boot
Date: 18 Oct 2003 18:19:36 -0700	[thread overview]
Message-ID: <878yniowgn.fsf@love-shack.home.digitalvampire.org> (raw)
In-Reply-To: <20031018172140.4968e273.akpm@osdl.org>

    Andrew> And ditto.  (Except declarations go in .h files, not in .c
    Andrew> files).

    Andrew> Sigh.  We may as well use this approach I guess.

We could go back to waiting 5 minutes after boot before printing
might_sleep warnings ;)

Here's a patch that

- fixes the early might_sleep warnings by not printing them until
  system_running is set.
- adds a declaration of system_running to linux/kernel.h.
- gets rid of declarations of system_running in kernel/kmod.c and
  kernel/sys.c.

 - Roland

diff -Nurp linux-2.6.0-test8.orig/include/linux/kernel.h linux-2.6.0-test8/include/linux/kernel.h
--- linux-2.6.0-test8.orig/include/linux/kernel.h	Fri Oct 17 14:42:52 2003
+++ linux-2.6.0-test8/include/linux/kernel.h	Sat Oct 18 17:56:27 2003
@@ -101,6 +101,7 @@ static inline void console_verbose(void)
 extern void bust_spinlocks(int yes);
 extern int oops_in_progress;		/* If set, an oops, panic(), BUG() or die() is in progress */
 extern int panic_on_oops;
+extern int system_running;
 
 extern int tainted;
 extern const char *print_tainted(void);
diff -Nurp linux-2.6.0-test8.orig/kernel/kmod.c linux-2.6.0-test8/kernel/kmod.c
--- linux-2.6.0-test8.orig/kernel/kmod.c	Fri Oct 17 14:43:00 2003
+++ linux-2.6.0-test8/kernel/kmod.c	Sat Oct 18 17:58:27 2003
@@ -36,7 +36,7 @@
 #include <linux/kernel.h>
 #include <asm/uaccess.h>
 
-extern int max_threads, system_running;
+extern int max_threads;
 
 #ifdef CONFIG_KMOD
 
diff -Nurp linux-2.6.0-test8.orig/kernel/sched.c linux-2.6.0-test8/kernel/sched.c
--- linux-2.6.0-test8.orig/kernel/sched.c	Fri Oct 17 14:43:24 2003
+++ linux-2.6.0-test8/kernel/sched.c	Sat Oct 18 17:54:43 2003
@@ -2847,8 +2847,10 @@ void __might_sleep(char *file, int line)
 {
 #if defined(in_atomic)
 	static unsigned long prev_jiffy;	/* ratelimiting */
-
-	if (in_atomic() || irqs_disabled()) {
+	/* Don't print warnings until system_running is set.  This avoids
+	   spurious warnings during boot before local_irq_enable() and
+	   init_idle(). */
+	if (system_running && (in_atomic() || irqs_disabled())) {
 		if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy)
 			return;
 		prev_jiffy = jiffies;
diff -Nurp linux-2.6.0-test8.orig/kernel/sys.c linux-2.6.0-test8/kernel/sys.c
--- linux-2.6.0-test8.orig/kernel/sys.c	Fri Oct 17 14:42:54 2003
+++ linux-2.6.0-test8/kernel/sys.c	Sat Oct 18 17:58:18 2003
@@ -78,8 +78,6 @@ EXPORT_SYMBOL(fs_overflowgid);
 int C_A_D = 1;
 int cad_pid = 1;
 
-extern int system_running;
-
 /*
  *	Notifier list for kernel code which wants to be called
  *	at shutdown. This is used to stop any idling DMA operations

  reply	other threads:[~2003-10-19  1:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-18 21:38 Roland Dreier
2003-10-18 23:14 ` Andrew Morton
2003-10-19  0:11   ` Roland Dreier
2003-10-19  0:21     ` Andrew Morton
2003-10-19  1:19       ` Roland Dreier [this message]
2003-10-19  1:53         ` Jesper Juhl
2003-10-19 19:17           ` Roland Dreier
2003-10-20  8:28             ` Jesper Juhl

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=878yniowgn.fsf@love-shack.home.digitalvampire.org \
    --to=roland@digitalvampire.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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®