From: Antti Salmela <asalmela@iki.fi>
To: Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, linux-kernel@vger.kernel.org
Subject: Re: [OOPS] 2.4.20-pre1-ac3, SMP (Dual PIII)
Date: Fri, 16 Aug 2002 19:50:57 +0300 [thread overview]
Message-ID: <20020816195057.A26010@wasala.fi> (raw)
In-Reply-To: <20020816141718.4766.qmail@thales.mathematik.uni-ulm.de>; from ehrhardt@mathematik.uni-ulm.de on Fri, Aug 16, 2002 at 04:17:18PM +0200
On Fri, Aug 16, 2002 at 04:17:18PM +0200, Christian Ehrhardt wrote:
> On Thu, Aug 15, 2002 at 02:33:02AM +0100, Alan Cox wrote:
> > Thanks - your analysis is informative to say the least. It looks like
> > the PIV load balancing code is the problem.
>
> The (untested) patch below should correct this problem along with
> a locking oddity (last hunk) that IMHO either needs fixing or a BIG
> comment. Be prepared for a few (up to 4) lines of fuzz due to additional
> BUG_ONs in both versions of the file.
With this patch I could boot 2.4.20-pre2-ac3 and it has now run nearly an
hour without any problems.
> regards Christian Ehrhardt
>
> [1] http://www.atnf.csiro.au/people/rgooch/benchmarks/linux-scheduler.html
>
>
> --- /usr/src/linux-2.4.20-pre1-ac3/kernel/sched.c Thu Aug 15 20:03:01 2002
> +++ sched.c Fri Aug 16 16:15:57 2002
> @@ -769,7 +772,7 @@
> set_tsk_need_resched(p);
>
> /* put it at the end of the queue: */
> - dequeue_task(p, rq->active);
> + dequeue_task(p, p->array);
> enqueue_task(p, rq->active);
> }
> goto out;
> @@ -785,7 +788,7 @@
> if (p->sleep_avg)
> p->sleep_avg--;
> if (!--p->time_slice) {
> - dequeue_task(p, rq->active);
> + dequeue_task(p, p->array);
> set_tsk_need_resched(p);
> p->prio = effective_prio(p);
> p->time_slice = TASK_TIMESLICE(p);
> @@ -1396,7 +1399,7 @@
> */
> if (likely(current->prio == MAX_PRIO-1)) {
> if (current->time_slice <= 1) {
> - dequeue_task(current, rq->active);
> + dequeue_task(current, array);
> enqueue_task(current, rq->expired);
> } else
> current->time_slice--;
> @@ -1411,7 +1414,7 @@
> list_add_tail(¤t->run_list, array->queue + current->prio);
> __set_bit(current->prio, array->bitmap);
> }
> - spin_unlock(&rq->lock);
> + rq_unlock (rq);
>
> schedule();
>
--
Antti Salmela
next prev parent reply other threads:[~2002-08-16 16:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-14 11:54 [OOPS] 2.4.20-pre1-ac3, SMP (Dual PIII) Antti Salmela
2002-08-14 12:37 ` Alan Cox
2002-08-14 13:10 ` Antti Salmela
2002-08-14 13:27 ` Alan Cox
2002-08-14 15:55 ` Antti Salmela
2002-08-14 17:30 ` Christian Ehrhardt
2002-08-15 1:33 ` Alan Cox
2002-08-16 14:17 ` Christian Ehrhardt
2002-08-16 16:50 ` Antti Salmela [this message]
2002-08-14 13:16 ` pci-dma bug in pci_alloc_consistent on i386 ? Steffen Persvold
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=20020816195057.A26010@wasala.fi \
--to=asalmela@iki.fi \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=ehrhardt@mathematik.uni-ulm.de \
--cc=linux-kernel@vger.kernel.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