linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Andrew Morton <andrewm@uow.edu.au>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-kernel@vger.kernel.org,
	"David S. Miller" <davem@redhat.com>
Subject: wake-one-3 bug (affected 2.2.19pre3aa[123])
Date: Fri, 29 Dec 2000 18:09:49 +0100	[thread overview]
Message-ID: <20001229180949.F12791@athlon.random> (raw)
In-Reply-To: <3A41DDB3.7E38AC7@uow.edu.au>; <20001221161952.B20843@athlon.random> <3A4303AC.C635F671@uow.edu.au>, <3A4303AC.C635F671@uow.edu.au>; <20001222141929.A13032@athlon.random> <3A444CAA.4C5A7A89@uow.edu.au>, <3A444CAA.4C5A7A89@uow.edu.au>; <20001223191159.B29450@athlon.random> <3A454205.D33090A8@uow.edu.au> <20001224164009.A8636@athlon.random>
In-Reply-To: <20001224164009.A8636@athlon.random>; from andrea@suse.de on Sun, Dec 24, 2000 at 04:40:09PM +0100

On Sun, Dec 24, 2000 at 04:40:09PM +0100, Andrea Arcangeli wrote:
> On Sun, Dec 24, 2000 at 11:23:33AM +1100, Andrew Morton wrote:
> > ack.
> 
> This patch against 2.2.19pre3 should fix all races. (note that wait->flags
> doesn't need to be initialized in the critical section in test1X too)
> 
> 	ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.2/2.2.19pre3/wake-one-3
> 
> Comments?

Woops, it had a bug (I overlooked the usage of __add_wait_queue in sleep_on),
the bug was reproduced and fixed by Chris Mason and his fix is obviously right,
see:

--- 2.2.19pre3aa3/kernel/sched.c.~1~	Wed Dec 27 04:49:37 2000
+++ 2.2.19pre3aa3/kernel/sched.c	Fri Dec 29 17:03:09 2000
@@ -1018,6 +1018,7 @@
 
 #define	SLEEP_ON_HEAD					\
 	wait.task = current;				\
+	wait.flags = 0;					\
 	write_lock_irqsave(&waitqueue_lock,flags);	\
 	__add_wait_queue(p, &wait);			\
 	write_unlock(&waitqueue_lock);

New patch (revision n.4) against vanilla 2.2.19pre3 is here:

	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.2/2.2.19pre3/wake-one-4

Since 2.2.19pre3aa[123] included the wake-one-3 patch they can generate task in
D state blocked in sleep_on* too. So if you're running 2.2.19pre3aa[123] you
should either upgrade to 2.2.19pre3aa4 or to apply the above inlined one liner
on top of 2.2.19pre3aa[123] sources and recompile (just make bzImage again will
be enough).

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2000-12-29 17:41 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-16 19:11 Linux 2.2.19pre2 Alan Cox
2000-12-17 10:56 ` Petri Kaukasoina
2000-12-17 15:38   ` Kurt Garloff
2000-12-20 10:32     ` Petri Kaukasoina
2000-12-20 10:44       ` Kurt Garloff
2000-12-20 13:28 ` Andrea Arcangeli
2000-12-20 14:57   ` Andrew Morton
2000-12-20 15:24     ` Andrea Arcangeli
2000-12-20 17:48       ` Rik van Riel
2000-12-20 18:09         ` Andrea Arcangeli
2000-12-21 10:38       ` Andrew Morton
2000-12-21 15:19         ` Andrea Arcangeli
2000-12-21 17:07           ` Rik van Riel
2000-12-21 17:44             ` Andrea Arcangeli
2000-12-21 17:55               ` Rik van Riel
2000-12-22  7:33           ` Andrew Morton
2000-12-22 13:19             ` Andrea Arcangeli
2000-12-23  6:56               ` Andrew Morton
2000-12-23 18:11                 ` Andrea Arcangeli
2000-12-24  0:23                   ` Andrew Morton
2000-12-24  0:53                     ` Andrea Arcangeli
2000-12-24  2:28                       ` Andrew Morton
2000-12-24  4:21                         ` Andrea Arcangeli
2000-12-24  5:17                           ` Andrew Morton
2000-12-24 14:43                             ` Andrea Arcangeli
2000-12-24 15:40                     ` Andrea Arcangeli
2000-12-29 17:09                       ` Andrea Arcangeli [this message]
2000-12-21 20:23   ` Andrea Arcangeli

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=20001229180949.F12791@athlon.random \
    --to=andrea@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrewm@uow.edu.au \
    --cc=davem@redhat.com \
    --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;
as well as URLs for NNTP newsgroup(s).