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) {
next 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.