From: Con Kolivas <kernel@kolivas.org>
To: "Torsten Kaiser" <just.for.lkml@googlemail.com>
Cc: "Andy Whitcroft" <apw@shadowen.org>,
"William Lee Irwin III" <wli@holomorphy.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, "Steve Fox" <drfickle@us.ibm.com>,
"Martin J. Bligh" <mbligh@mbligh.org>
Subject: Re: debug rsdl 0.33
Date: Mon, 26 Mar 2007 08:59:26 +1000 [thread overview]
Message-ID: <200703260859.27272.kernel@kolivas.org> (raw)
In-Reply-To: <200703260849.07943.kernel@kolivas.org>
On Monday 26 March 2007 08:49, Con Kolivas wrote:
> On Monday 26 March 2007 04:28, Torsten Kaiser wrote:
> > On 3/24/07, Con Kolivas <kernel@kolivas.org> wrote:
> > > kernel/sched.c | 51
> > > +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51
> > > insertions(+)
> >
> > 2.6.21-rc4-mm1 also fails for me.
> >
> > I tried pure 2.6.21-rc4-mm1, +hotfixes, +hotfixes+rsdl33 and at last
> > also added above debug patch.
>
> Thank you very much for the effort!
>
> > The oops from with the debug-patch added:
> > [ 65.426126] Freeing unused kernel memory: 312k freed
> > (on the console the system is starting up, getting until "Letting udev
> > process events ...")
> > [ 66.665611] Unable to handle kernel NULL pointer dereference at
> > 0000000000000020 RIP:
> > [ 66.682030] [<ffffffff8026167c>] __sched_text_start+0x4dc/0xa0e
>
> The debug patch didn't do anything. This means it is not an unset bitmap
> problem at all otherwise it should have self corrected itself.
>
> > The system in x86_64, two 2218 on a MCP55 nvidia chipset.
> >
> > 2.6.21-rc3-mm1 works fine.
> >
> > (gdb) list *0xffffffff8026167c
> > 0xffffffff8026167c is in schedule (kernel/sched.c:3619).
>
> next = list_entry(queue->next, struct task_struct, run_list);
> rq->prio_level = idx;
>
> > 3614 /*
> > 3615 * When the task is chosen it is checked to see if its
> > quota has been
> > 3616 * added to this runqueue level which is only performed
> > once per 3617 * level per major rotation for each running
> > task. 3618 */
> > 3619 if (next->rotation != rq->prio_rotation) {
>
> Urgh. Dereferencing there? That can only be next that's deferencing meaning
> the run_list entry is bogus. That should only ever be done under runqueue
> lock so I have a race somewhere where it's not. Time for more looking.
This is about the only place I can see the run_list is looked at unlocked. Can
you see if this simple patch helps? The debug patch is unnecessary now.
Thanks!
--
Ensure checking task_queued() is only done under runqueue lock.
Signed-off-by: Con Kolivas <kernel@kolivas.org>
---
kernel/sched.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: linux-2.6.21-rc4-mm1/kernel/sched.c
===================================================================
--- linux-2.6.21-rc4-mm1.orig/kernel/sched.c 2007-03-26 08:54:15.000000000 +1000
+++ linux-2.6.21-rc4-mm1/kernel/sched.c 2007-03-26 08:55:21.000000000 +1000
@@ -3421,16 +3421,16 @@ static inline void rotate_runqueue_prior
static void task_running_tick(struct rq *rq, struct task_struct *p, int tick)
{
- if (unlikely(!task_queued(p))) {
- /* Task has expired but was not scheduled yet */
- set_tsk_need_resched(p);
- return;
- }
/* SCHED_FIFO tasks never run out of timeslice. */
if (unlikely(p->policy == SCHED_FIFO))
return;
spin_lock(&rq->lock);
+ if (unlikely(!task_queued(p))) {
+ /* Task has expired but was not scheduled off yet */
+ set_tsk_need_resched(p);
+ goto out_unlock;
+ }
/*
* Accounting is performed by both the task and the runqueue. This
* allows frequently sleeping tasks to get their proper quota of
--
-ck
next prev parent reply other threads:[~2007-03-25 22:59 UTC|newest]
Thread overview: 145+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-20 4:56 2.6.21-rc4-mm1 Andrew Morton
2007-03-20 7:54 ` 2.6.21-rc4-mm1 Michal Piotrowski
2007-03-20 9:45 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-22 8:41 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-22 9:48 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-22 10:04 ` 2.6.21-rc4-mm1 Con Kolivas
2007-03-22 17:07 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-22 18:17 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-22 22:14 ` 2.6.21-rc4-mm1 Con Kolivas
2007-03-23 6:18 ` 2.6.21-rc4-mm1 Con Kolivas
2007-03-23 8:45 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-23 12:28 ` 2.6.21-rc4-mm1 Andy Whitcroft
2007-03-23 15:53 ` 2.6.21-rc4-mm1 Fortier,Vincent [Montreal]
2007-03-23 21:45 ` 2.6.21-rc4-mm1 Con Kolivas
2007-03-23 23:26 ` debug rsdl 0.33 Con Kolivas
2007-03-25 12:27 ` Andy Whitcroft
2007-03-25 18:28 ` Torsten Kaiser
2007-03-25 22:01 ` Andrew Morton
2007-03-25 22:49 ` Con Kolivas
2007-03-25 22:59 ` Con Kolivas [this message]
2007-03-26 7:49 ` Andy Whitcroft
2007-03-26 15:28 ` Andy Whitcroft
2007-03-26 16:12 ` Con Kolivas
2007-03-20 10:52 ` 2.6.21-rc4-mm1 [PATCH] init/missing_syscalls.h fix Stephane Jourdois
2007-03-20 14:31 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 16:09 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-20 18:38 ` 2.6.21-rc4-mm1 Pavel Machek
2007-03-20 19:40 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 19:56 ` 2.6.21-rc4-mm1 Pavel Machek
2007-03-20 20:13 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 20:21 ` [linux-pm] 2.6.21-rc4-mm1 Pavel Machek
2007-03-20 20:58 ` Rafael J. Wysocki
2007-03-20 20:58 ` Jiri Slaby
2007-03-20 21:06 ` Rafael J. Wysocki
[not found] ` <200703210149.33240.rjw@sisk.pl>
2007-03-21 1:23 ` [linux-pm] 2.6.21-rc4-mm1: freezing of processes broken Eric W. Biederman
2007-03-21 2:47 ` sukadev
2007-03-21 3:13 ` Nigel Cunningham
2007-03-21 14:23 ` Oleg Nesterov
2007-03-21 14:45 ` Rafael J. Wysocki
2007-03-21 16:20 ` Andrew Morton
2007-03-21 16:55 ` Oleg Nesterov
2007-03-21 17:08 ` Andrew Morton
2007-03-21 18:07 ` sukadev
2007-03-21 18:16 ` Eric W. Biederman
2007-03-21 18:23 ` sukadev
2007-03-21 17:15 ` Oleg Nesterov
2007-03-21 12:08 ` Rafael J. Wysocki
2007-03-20 20:12 ` 2.6.21-rc4-mm1 Rafael J. Wysocki
2007-03-20 16:36 ` 2.6.21-rc4-mm1 J.A. Magallón
2007-03-21 0:14 ` 2.6.21-rc4-mm1 J.A. Magallón
2007-03-20 17:31 ` 2.6.21-rc4-mm1 Randy Dunlap
2007-03-20 19:20 ` 2.6.21-rc4-mm1 Kees Cook
2007-03-20 20:42 ` 2.6.21-rc4-mm1 Stéphane Jourdois
2007-03-20 20:50 ` 2.6.21-rc4-mm1 Randy Dunlap
2007-03-21 5:47 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-21 11:25 ` 2.6.21-rc4-mm1 David Woodhouse
2007-03-21 11:59 ` 2.6.21-rc4-mm1 Sam Ravnborg
2007-03-22 9:17 ` 2.6.21-rc4-mm1 David Woodhouse
2007-03-22 11:41 ` 2.6.21-rc4-mm1 Sam Ravnborg
2007-03-22 16:25 ` 2.6.21-rc4-mm1 David Woodhouse
2007-03-22 16:28 ` 2.6.21-rc4-mm1 Sam Ravnborg
2007-03-21 22:19 ` 2.6.21-rc4-mm1 Sam Ravnborg
2007-03-21 22:22 ` [PATCH 1/3] kbuild: complain about missing system calls Sam Ravnborg
2007-05-07 22:29 ` Tony Luck
2007-05-07 22:39 ` David Woodhouse
2007-05-07 22:51 ` Luck, Tony
2007-05-08 18:24 ` Sam Ravnborg
2007-05-08 18:35 ` Luck, Tony
2007-05-08 18:49 ` Sam Ravnborg
2007-03-21 22:23 ` [PATCH 2/3] kbuild: ignore more i386 legacy syscalls Sam Ravnborg
2007-03-21 22:24 ` [PATCH 3/3] kbuild: exempt more syscalls from warnings, for x86_64 and ARM Sam Ravnborg
2007-03-21 23:01 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-22 8:54 ` 2.6.21-rc4-mm1 Sam Ravnborg
2007-03-20 18:09 ` [PATCH] utrace: make an inline void Randy Dunlap
2007-03-21 1:48 ` Roland McGrath
2007-03-20 20:49 ` 2.6.21-rc4-mm1: multiple definition of `queue_pushbutton_work' Adrian Bunk
2007-03-21 18:45 ` Kristen Carlson Accardi
2007-03-20 21:04 ` 2.6.21-rc4-mm1 J.A. Magallón
2007-03-20 23:10 ` FireWire update in -mm (was 2.6.21-rc4-mm1) Stefan Richter
2007-03-20 23:49 ` 2.6.21-rc4-mm1 Randy Dunlap
2007-03-21 1:47 ` 2.6.21-rc4-mm1 Randy Dunlap
2007-03-21 18:36 ` 2.6.21-rc4-mm1 Greg KH
[not found] ` <1174433034.62033.16.camel@localhost>
2007-03-21 6:36 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-21 9:52 ` 2.6.21-rc4-mm1 Edward Shishkin
2007-03-21 14:12 ` [Bluez-devel] 2.6.21-rc4-mm1 Marcel Holtmann
2007-03-23 19:45 ` Zan Lynx
2007-03-21 16:13 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-23 19:40 ` 2.6.21-rc4-mm1 Zan Lynx
2007-03-24 1:49 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-21 18:14 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-21 18:34 ` 2.6.21-rc4-mm1 Michael Buesch
2007-03-21 19:00 ` 2.6.21-rc4-mm1 John W. Linville
2007-03-21 18:59 ` 2.6.21-rc4-mm1 John W. Linville
2007-03-21 20:22 ` 2.6.21-rc4-mm1 Matt Mackall
2007-03-21 20:48 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-21 21:03 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-21 21:39 ` 2.6.21-rc4-mm1 Randy Dunlap
2007-03-21 21:45 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-22 7:39 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-22 11:35 ` 2.6.21-rc4-mm1 Cornelia Huck
[not found] ` <4602752A.5050109@lwfinger.net>
2007-03-22 17:10 ` 2.6.21-rc4-mm1 Cornelia Huck
2007-03-22 18:55 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-23 10:10 ` 2.6.21-rc4-mm1 Cornelia Huck
2007-03-23 15:00 ` 2.6.21-rc4-mm1 Larry Finger
2007-03-24 5:06 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-26 9:09 ` 2.6.21-rc4-mm1 Cornelia Huck
2007-03-26 9:22 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-26 10:34 ` 2.6.21-rc4-mm1 Eric Rannaud
2007-03-26 10:44 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-27 9:25 ` 2.6.21-rc4-mm1 Kay Sievers
2007-03-27 17:17 ` 2.6.21-rc4-mm1 Cornelia Huck
2007-03-28 1:26 ` 2.6.21-rc4-mm1 Eric Rannaud
2007-03-28 8:25 ` 2.6.21-rc4-mm1 Cornelia Huck
2007-03-24 22:32 ` 2.6.21-rc4-mm1 Matt Mackall
2007-03-21 18:49 ` 2.6.21-rc4-mm1 - problem with cpuidle routine Larry Finger
2007-03-21 20:38 ` Andrew Morton
2007-03-22 0:33 ` Venkatesh Pallipadi
2007-03-30 1:25 ` 2.6.21-rc4-mm1 and rc5-mm2 " Ed Sweetman
2007-03-30 2:17 ` Lee Revell
2007-03-21 20:39 ` 2.6.21-rc4-mm1 " Venki Pallipadi
2007-03-21 10:14 ` 2.6.21-rc4-mm1 Reuben Farrelly
2007-03-22 23:27 ` 2.6.21-rc4-mm1 J.A. Magallón
2007-03-23 1:41 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-26 20:31 ` 2.6.21-rc4-mm1 J.A. Magallón
2007-03-24 13:06 ` [-mm patch] lguest: #if 0 check_bug_kill() Adrian Bunk
2007-03-25 7:33 ` Rusty Russell
2007-03-25 14:57 ` [-mm patch] lguest: remove check_bug_kill() Adrian Bunk
2007-03-24 13:06 ` [-mm patch] drivers/scsi/constants.c: make 2 functions static Adrian Bunk
2007-03-24 16:11 ` Douglas Gilbert
2007-03-24 17:02 ` Adrian Bunk
2007-03-24 13:07 ` [-mm patch] fs/revoke.c: cleanups (and bugfix for 64bit systems) Adrian Bunk
2007-03-24 13:15 ` Pekka Enberg
2007-03-24 13:07 ` [-mm patch] unexport bio_{,un}map_user Adrian Bunk
2007-03-25 14:58 ` [-mm patch] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init Adrian Bunk
2007-03-26 0:24 ` Wrong IDE cable detection in libata [Re: 2.6.21-rc4-mm1] J.A. Magallón
2007-03-26 11:01 ` Tejun Heo
2007-03-26 20:18 ` J.A. Magallón
2007-03-26 19:47 ` 2.6.21-rc4-mm1 Badari Pulavarty
2007-03-26 23:29 ` 2.6.21-rc4-mm1 Paul Mackerras
2007-03-26 20:05 ` 2.6.21-rc4-mm1 Badari Pulavarty
2007-03-26 19:35 ` 2.6.21-rc4-mm1 Jean Delvare
2007-03-26 23:26 ` 2.6.21-rc4-mm1 Greg KH
2007-03-26 21:57 ` 2.6.21-rc4-mm1 Badari Pulavarty
2007-03-26 22:22 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-26 23:43 ` 2.6.21-rc4-mm1 Badari Pulavarty
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=200703260859.27272.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@linux-foundation.org \
--cc=apw@shadowen.org \
--cc=drfickle@us.ibm.com \
--cc=just.for.lkml@googlemail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@mbligh.org \
--cc=wli@holomorphy.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome