Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:37:42PM +0100, Russell King wrote: > 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

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:37:05PM +0100, [EMAIL PROTECTED] wrote: > Andrea Arcangeli writes: > > That it is allowed by my generic code that does spin_lock_irq in down_* and > > spin_lock_irqsave in up_* but it's disallowed by the weaker semantics of the

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Russell King
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. >

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread rmk
Andrea Arcangeli writes: > That it is allowed by my generic code that does spin_lock_irq in down_* and > spin_lock_irqsave in up_* but it's disallowed by the weaker semantics of the > generic and x86 semaphores 2.4.4pre[2345] (or + David's last patch). Hang on, who's code is in 2.4.4-pre5? It

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:17:37PM +0100, Russell King wrote: > 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

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Russell King
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. >

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-21 Thread Andrea Arcangeli
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. > - the generic semaphores should

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Andrea Arcangeli
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. - the generic semaphores should _not_

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Russell King
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

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:17:37PM +0100, Russell King wrote: 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

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread rmk
Andrea Arcangeli writes: That it is allowed by my generic code that does spin_lock_irq in down_* and spin_lock_irqsave in up_* but it's disallowed by the weaker semantics of the generic and x86 semaphores 2.4.4pre[2345] (or + David's last patch). Hang on, who's code is in 2.4.4-pre5? It

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Russell King
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

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:37:05PM +0100, [EMAIL PROTECTED] wrote: Andrea Arcangeli writes: That it is allowed by my generic code that does spin_lock_irq in down_* and spin_lock_irqsave in up_* but it's disallowed by the weaker semantics of the

Re: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-21 Thread Andrea Arcangeli
On Sat, Apr 21, 2001 at 03:37:42PM +0100, Russell King wrote: 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

x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]]

2001-04-20 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 03:42:15AM +0200, Andrea Arcangeli wrote: > I'm uncertain if I should drop the list_empty() check from the fast path and if While dropping the list_empty check to speed up the fast path I faced the same complexity of the 2.4.4pre4 lib/rwsem.c and so before reinventing the

Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-20 Thread David Howells
> About the benchmark you wrote it looks good measure to me, thanks. As with all benchmarks, take with one pinch of salt and two of Mindcraft:-) David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at

Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]

2001-04-20 Thread David Howells
About the benchmark you wrote it looks good measure to me, thanks. As with all benchmarks, take with one pinch of salt and two of Mindcraft:-) David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at

x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-20 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 03:42:15AM +0200, Andrea Arcangeli wrote: I'm uncertain if I should drop the list_empty() check from the fast path and if While dropping the list_empty check to speed up the fast path I faced the same complexity of the 2.4.4pre4 lib/rwsem.c and so before reinventing the

Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-19 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 12:28:09AM +0100, D . W . Howells wrote: > I benchmarked four different environments: > > (1) 2.4.4-pre3 + Andrea's generic rwsem patch > (2) 2.4.4-pre4 using XADD to implement the rwsems > (3) same as (2) but with a tweak to make rwsem_wake() less fair

rwsem benchmarks [Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-19 Thread D . W . Howells
You asked for some benchmarks Andrea, so I've obtained some. The set of test modules can be found at: ftp://infradead.org/pub/people/dwh/rwsem-test.tar.bz2 (This also includes rwsem-stat.txt which has a copy of the benchmark results in as well) There are six test programs. They can

rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]

2001-04-19 Thread D . W . Howells
You asked for some benchmarks Andrea, so I've obtained some. The set of test modules can be found at: ftp://infradead.org/pub/people/dwh/rwsem-test.tar.bz2 (This also includes rwsem-stat.txt which has a copy of the benchmark results in as well) There are six test programs. They can

Re: rwsem benchmarks [Re: generic rwsem [Re: Alpha process table hang]]

2001-04-19 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 12:28:09AM +0100, D . W . Howells wrote: I benchmarked four different environments: (1) 2.4.4-pre3 + Andrea's generic rwsem patch (2) 2.4.4-pre4 using XADD to implement the rwsems (3) same as (2) but with a tweak to make rwsem_wake() less fair