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: 172+ 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 16:09 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-20 18:38 ` 2.6.21-rc4-mm1 Pavel Machek
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:40 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 19:56 ` 2.6.21-rc4-mm1 Pavel Machek
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:13 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 20:21 ` 2.6.21-rc4-mm1 Pavel Machek
2007-03-20 20:21 ` [linux-pm] 2.6.21-rc4-mm1 Pavel Machek
2007-03-20 20:58 ` 2.6.21-rc4-mm1 Rafael J. Wysocki
2007-03-20 20:58 ` [linux-pm] 2.6.21-rc4-mm1 Rafael J. Wysocki
2007-03-20 20:58 ` 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 20:58 ` [linux-pm] 2.6.21-rc4-mm1 Jiri Slaby
2007-03-20 21:06 ` 2.6.21-rc4-mm1 Rafael J. Wysocki
2007-03-20 21:06 ` [linux-pm] 2.6.21-rc4-mm1 Rafael J. Wysocki
2007-03-21 0:49 ` 2.6.21-rc4-mm1: freezing of processes broken Rafael J. Wysocki
2007-03-21 1:23 ` Eric W. Biederman
2007-03-21 1:23 ` [linux-pm] " Eric W. Biederman
2007-03-21 2:47 ` sukadev
2007-03-21 2:47 ` [linux-pm] " sukadev
2007-03-21 3:13 ` Nigel Cunningham
2007-03-21 3:13 ` [linux-pm] " Nigel Cunningham
2007-03-21 14:23 ` Oleg Nesterov
2007-03-21 14:23 ` [linux-pm] " Oleg Nesterov
2007-03-21 14:45 ` Rafael J. Wysocki
2007-03-21 14:45 ` [linux-pm] " Rafael J. Wysocki
2007-03-21 16:20 ` Andrew Morton
2007-03-21 16:20 ` [linux-pm] " Andrew Morton
2007-03-21 16:55 ` Oleg Nesterov
2007-03-21 16:55 ` [linux-pm] " Oleg Nesterov
2007-03-21 17:08 ` Andrew Morton
2007-03-21 17:08 ` [linux-pm] " Andrew Morton
2007-03-21 18:07 ` sukadev
2007-03-21 18:16 ` Eric W. Biederman
2007-03-21 18:16 ` [linux-pm] " Eric W. Biederman
2007-03-21 18:23 ` sukadev
2007-03-21 18:23 ` [linux-pm] " sukadev
2007-03-21 17:15 ` Oleg Nesterov
2007-03-21 17:15 ` [linux-pm] " Oleg Nesterov
2007-03-21 12:08 ` Rafael J. Wysocki
2007-03-21 12:08 ` [linux-pm] " Rafael J. Wysocki
2007-03-20 20:12 ` 2.6.21-rc4-mm1 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 ` [Bluez-devel] 2.6.21-rc4-mm1 Andrew Morton
2007-03-21 6:36 ` 2.6.21-rc4-mm1 Andrew Morton
2007-03-21 9:52 ` [Bluez-devel] 2.6.21-rc4-mm1 Edward Shishkin
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-21 14:12 ` Marcel Holtmann
2007-03-23 19:45 ` Zan Lynx
2007-03-21 16:13 ` Larry Finger
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 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.