From: Russell King <rmk@arm.linux.org.uk>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Linus Torvalds <torvalds@transmeta.com>,
"D . W . Howells" <dhowells@astarte.free-online.co.uk>,
dhowells@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]
Date: Sat, 21 Apr 2001 15:37:42 +0100 [thread overview]
Message-ID: <20010421153742.B7576@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20010420191710.A32159@athlon.random> <Pine.LNX.4.31.0104201639070.6299-100000@penguin.transmeta.com> <20010421160327.A17757@athlon.random>
In-Reply-To: <20010421160327.A17757@athlon.random>; from andrea@suse.de on Sat, Apr 21, 2001 at 04:03:27PM +0200
On Sat, Apr 21, 2001 at 04:03:27PM +0200, Andrea Arcangeli wrote:
> On Fri, Apr 20, 2001 at 04:45:32PM -0700, Linus Torvalds wrote:
> > I would suggest the following:
> >
> > - the generic semaphores should use the lock that already exists in the
> > wait-queue as the semaphore spinlock.
>
> Ok, that is what my generic code does.
rwsem-spinlock.h requires linux/types.h to be included (you're using
__u16 at towards the bottom):
gcc -D__KERNEL__ -I/usr/src2/v2.4/linux-rpc/include -Wall -Wstrict-prototypes
-O2 -fno-strict-aliasing -pipe -mapcs-32 -march=armv3m -mtune=strongarm110
-mshort-load-bytes -msoft-float -c -o ieee1284.o ieee1284.c
In file included from /usr/src2/v2.4/linux-rpc/include/linux/rwsem.h:56,
from /usr/src2/v2.4/linux-rpc/include/asm/semaphore.h:10,
from /usr/src2/v2.4/linux-rpc/include/linux/parport.h:101,
from ieee1284.c:19:
/usr/src2/v2.4/linux-rpc/include/linux/rwsem-spinlock.h:154: parse error before `rwsem_cmpxchgw'
/usr/src2/v2.4/linux-rpc/include/linux/rwsem-spinlock.h:154: parse error before `__u16'
/usr/src2/v2.4/linux-rpc/include/linux/rwsem-spinlock.h:155: warning: return-type defaults to `int'
/usr/src2/v2.4/linux-rpc/include/linux/rwsem-spinlock.h:155: warning: function declaration isn't a prototype
Here is a patch that fixes this oversight against 2.4.4-pre5:
--- orig/include/linux/rwsem-spinlock.h Sat Apr 21 15:32:57 2001
+++ linux/include/linux/rwsem-spinlock.h Sat Apr 21 15:28:45 2001
@@ -11,6 +11,7 @@
#endif
#include <linux/spinlock.h>
+#include <linux/types.h>
#ifdef __KERNEL__
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
next prev parent reply other threads:[~2001-04-21 14:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-19 23:28 rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]] D.W.Howells
2001-04-20 1:42 ` Andrea Arcangeli
2001-04-20 10:10 ` David Howells
2001-04-20 17:17 ` x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]] Andrea Arcangeli
2001-04-20 23:45 ` Linus Torvalds
2001-04-21 14:03 ` Andrea Arcangeli
2001-04-21 14:17 ` Russell King
2001-04-21 14:29 ` Andrea Arcangeli
2001-04-21 14:37 ` rmk
2001-04-21 15:04 ` Andrea Arcangeli
2001-04-21 17:18 ` Linus Torvalds
2001-04-21 14:37 ` Russell King [this message]
2001-04-21 15:07 ` 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=20010421153742.B7576@flint.arm.linux.org.uk \
--to=rmk@arm.linux.org.uk \
--cc=andrea@suse.de \
--cc=dhowells@astarte.free-online.co.uk \
--cc=dhowells@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox