All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <rml@tech9.net>
To: torvalds@transmeta.com
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] BUG(): sched.c: Line 944
Date: 16 Sep 2002 14:48:58 -0400	[thread overview]
Message-ID: <1032202138.969.12.camel@phantasy> (raw)

Linus,

The current in_atomic() check fails with kernel preemption enabled since
we set preempt_count to PREEMPT_ACTIVE in preempt_schedule().

We need to additionally check whether PREEMPT_ACTIVE is set.

There is also still the issue that bugging out is a bit drastic and a
hindrance to debugging; but I will tackle that later.  For now, please
apply this so we can at least boot with preemption enabled.

Patch is against 2.5.35-bk.

	Robert Love

diff -urN linux-2.5.35/kernel/sched.c linux/kernel/sched.c
--- linux-2.5.35/kernel/sched.c	Sun Sep 15 22:18:24 2002
+++ linux/kernel/sched.c	Mon Sep 16 14:43:54 2002
@@ -940,8 +940,7 @@
 	struct list_head *queue;
 	int idx;
 
-	if (unlikely(in_atomic()))
-		BUG();
+	BUG_ON(in_atomic() && preempt_count() != PREEMPT_ACTIVE);
 
 #if CONFIG_DEBUG_HIGHMEM
 	check_highmem_ptes();
@@ -959,7 +958,7 @@
 	 * if entering off of a kernel preemption go straight
 	 * to picking the next task.
 	 */
-	if (unlikely(preempt_count() & PREEMPT_ACTIVE))
+	if (unlikely(preempt_count() == PREEMPT_ACTIVE))
 		goto pick_next_task;
 
 	switch (prev->state) {


             reply	other threads:[~2002-09-16 18:44 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-16 18:48 Robert Love [this message]
2002-09-16 19:01 ` [PATCH] BUG(): sched.c: Line 944 Linus Torvalds
2002-09-16 21:14   ` Robert Love
2002-09-16 21:41     ` Linus Torvalds
2002-09-16 22:15       ` Robert Love
2002-09-16 22:26         ` Linus Torvalds
2002-09-16 23:15           ` Robert Love
2002-09-16 23:45             ` Linus Torvalds
2002-09-16 23:58               ` Robert Love
2002-09-17  5:56                 ` Linus Torvalds
2002-09-17  8:12                   ` Robert Love
2002-09-17  8:51                     ` Robert Love
2002-09-17  8:59                     ` Robert Love
2002-09-17  9:57                       ` Ingo Molnar
2002-09-17 18:27                         ` Robert Love
2002-09-17 18:46                           ` Ingo Molnar
2002-09-17 14:10                       ` Steven Cole
2002-09-17 18:29                         ` Robert Love
2002-09-17 18:42                           ` Steven Cole
2002-09-17 15:27                       ` Linus Torvalds
2002-09-17 15:40                         ` Linus Torvalds
2002-09-17 15:53                           ` Ingo Molnar
2002-09-17 16:18                             ` Linus Torvalds
2002-09-17 16:26                               ` Ingo Molnar
2002-09-17 18:47                                 ` Robert Love
2002-09-17 18:57                                   ` Ingo Molnar
2002-09-17 19:23                                     ` Robert Love
2002-09-17 19:54                                       ` Steven Cole
2002-09-17 20:06                                         ` Robert Love
2002-09-17 20:32                                           ` Steven Cole
2002-09-17 20:58                                           ` Steven Cole
2002-09-18  4:44                                             ` Robert Love
2002-09-18 14:08                                               ` Steven Cole
2002-09-17 15:54                           ` Ingo Molnar

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=1032202138.969.12.camel@phantasy \
    --to=rml@tech9.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.