public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: hch@caldera.de (Christoph Hellwig)
To: andrea@suse.de (Andrea Arcangeli)
Cc: linux-kernel@vger.kernel.org
Subject: Re: generic rwsem [Re: Alpha "process table hang"]
Date: Tue, 17 Apr 2001 17:45:57 +0200	[thread overview]
Message-ID: <200104171545.RAA12410@ns.caldera.de> (raw)
In-Reply-To: <20010417170717.H2696@athlon.random>

In article <20010417170717.H2696@athlon.random> you wrote:
> My generic rwsem should be also cleaner and faster than the generic ones in
> 2.4.4pre3 and they can be turned off completly so an architecture can really
> takeover with its own asm implementation (while with the 2.4.4pre3 design this
> is obviously not possible because lib/rwsem.c compilation isn't conditional and
> such file knows the internals of the struct rw_semaphore).
>
> In the below generic implementation of the rw sem the max limit of concurrent
> readers in the critical section is 2^sizeof(int) and down_read is recursive.
> There's no limit of tasks sleeping in the slow path either by down_read or
> down_write. The waitqueue wakeups are done without any additional lock (the
> lock in the waitqueue is unused).
>
> So please try to reproduce the hang with 2.4.4pre3 with those two
> patches applied:

> 	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.4pre3aa3/00_alpha-numa-3
> 	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.4pre3aa3/00_rwsem-generic-1

Hey it looks like someone finally fixed the rwsems :P

A little comment on the path:

In lib/Makefile you should _always_ add rwsem.o the export-objs, not only if
CONFIG_GENERIC_RWSEM is 'y' - that's the whole idea behind export-objs.

	Christoph

-- 
Of course it doesn't work. We've performed a software upgrade.

  parent reply	other threads:[~2001-04-17 15:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-11 15:40 Alpha "process table hang" Bob McElrath
2001-04-11 16:44 ` Peter Rival
2001-04-11 17:00   ` Bob McElrath
2001-04-11 17:18     ` Peter Rival
2001-04-11 17:57       ` Bob McElrath
     [not found]         ` <E14nOzo-0007Ew-00@the-village.bc.nu>
2001-04-13 13:48           ` Bob McElrath
2001-04-17 15:07             ` generic rwsem [Re: Alpha "process table hang"] Andrea Arcangeli
2001-04-17 15:28               ` Bob McElrath
2001-04-19 16:21                 ` Bob McElrath
2001-04-19 17:17                   ` Andrea Arcangeli
2001-04-23 23:27                     ` Bob McElrath
2001-04-23 23:40                       ` Andrea Arcangeli
2001-04-17 15:45               ` Christoph Hellwig [this message]
2001-04-17 16:59               ` David Howells
2001-04-17 17:55                 ` Andrea Arcangeli
     [not found] ` <200104111642.f3BGg6930131@kanga.hofr.at>
2001-04-11 18:49   ` Alpha "process table hang" Bob McElrath
  -- strict thread matches above, loose matches on Subject: below --
2001-04-17 19:18 generic rwsem [Re: Alpha "process table hang"] D.W.Howells
2001-04-17 20:49 ` Andrea Arcangeli
2001-04-17 21:29   ` Christoph Hellwig
2001-04-17 22:06     ` Andrea Arcangeli
2001-04-17 21:48 D.W.Howells
2001-04-17 23:06 ` Andrea Arcangeli
2001-04-17 23:54 D.W.Howells
2001-04-18 20:49 ` 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=200104171545.RAA12410@ns.caldera.de \
    --to=hch@caldera.de \
    --cc=andrea@suse.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