Re: [andrea@suse.de: Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-25 Thread Jamie Lokier
Linus Torvalds wrote: > For i386 and i486, there is no reason to try to maintain a complex fast > case. The machines are unquestionably going away - we should strive to not > burden them unnecessarily, but we should _not_ try to save two cycles. ... > Icache is also precious on the 386, which has

Re: [andrea@suse.de: Re: generic rwsem [Re: Alpha process table hang]]

2001-04-25 Thread Jamie Lokier
Linus Torvalds wrote: For i386 and i486, there is no reason to try to maintain a complex fast case. The machines are unquestionably going away - we should strive to not burden them unnecessarily, but we should _not_ try to save two cycles. ... Icache is also precious on the 386, which has no

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

2001-04-23 Thread Andrea Arcangeli
On Mon, Apr 23, 2001 at 06:27:23PM -0500, Bob McElrath wrote: > Well, take that back, I just got it to hang. Again, this is 2.4.4pre3 > with alpha-numa-3 and rwsem-generic-4. I saw it upon starting mozilla. > I also saw some scary filesystem errors that may or may not be related: > Apr 23

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

2001-04-23 Thread Bob McElrath
Andrea Arcangeli [[EMAIL PROTECTED]] wrote: > On Thu, Apr 19, 2001 at 11:21:17AM -0500, Bob McElrath wrote: > > I'm at 2 days uptime now, and have not seen the process-table-hang. > > Looks like this fixed it. Previously I would get a hang in the first > > day or so. I'm using your alpha-numa-3

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

2001-04-23 Thread Bob McElrath
Andrea Arcangeli [[EMAIL PROTECTED]] wrote: On Thu, Apr 19, 2001 at 11:21:17AM -0500, Bob McElrath wrote: I'm at 2 days uptime now, and have not seen the process-table-hang. Looks like this fixed it. Previously I would get a hang in the first day or so. I'm using your alpha-numa-3 and

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

2001-04-23 Thread Andrea Arcangeli
On Mon, Apr 23, 2001 at 06:27:23PM -0500, Bob McElrath wrote: Well, take that back, I just got it to hang. Again, this is 2.4.4pre3 with alpha-numa-3 and rwsem-generic-4. I saw it upon starting mozilla. I also saw some scary filesystem errors that may or may not be related: Apr 23

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

2001-04-21 Thread Linus Torvalds
On Sat, 21 Apr 2001, Russell King wrote: > > Erm, spin_lock()? What if up_read or up_write gets called from interrupt > context (is this allowed)? Currently that is not allowed. We allow it for regular semaphores, but not for rw-semaphores. We may some day have to revisit that issue, but I

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

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

2001-04-21 Thread Linus Torvalds
On Sat, 21 Apr 2001, Russell King wrote: Erm, spin_lock()? What if up_read or up_write gets called from interrupt context (is this allowed)? Currently that is not allowed. We allow it for regular semaphores, but not for rw-semaphores. We may some day have to revisit that issue, but I

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

2001-04-20 Thread Linus Torvalds
On Fri, 20 Apr 2001, Andrea Arcangeli wrote: > > 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 wheel I > read how the problem was solved in 2.4.4pre4. I would suggest the following: - the

Re: [andrea@suse.de: Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-20 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 09:23:47AM +0100, David Howells wrote: > Andrea seems to have changed his mind on the non-inlining in the generic case. I changed my mind because if you benchmark the fast path you will do it without running out of icache (basically only down_* and up_* will be in the

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: [andrea@suse.de: Re: generic rwsem [Re: Alpha "process table hang"]]

2001-04-20 Thread David Howells
Linus Torvalds <[EMAIL PROTECTED]> wrote: > I think Andrea is right. Although this file seems to be entirely > old-fashioned and should never be used, right? I presume you're talking about "include/asm-i386/rwsem-spin.h"... If so, Andrea is right, there is a bug in it (repeated a number of

Re: [andrea@suse.de: Re: generic rwsem [Re: Alpha process table hang]]

2001-04-20 Thread David Howells
Linus Torvalds [EMAIL PROTECTED] wrote: I think Andrea is right. Although this file seems to be entirely old-fashioned and should never be used, right? I presume you're talking about "include/asm-i386/rwsem-spin.h"... If so, Andrea is right, there is a bug in it (repeated a number of times),

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: x86 rwsem in 2.4.4pre[234] are still buggy [was Re: rwsembenchmarks [Re: generic rwsem [Re: Alpha process table hang]]]

2001-04-20 Thread Linus Torvalds
On Fri, 20 Apr 2001, Andrea Arcangeli wrote: 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 wheel I read how the problem was solved in 2.4.4pre4. I would suggest the following: - the

Re: [andrea@suse.de: Re: generic rwsem [Re: Alpha process table hang]]

2001-04-20 Thread Andrea Arcangeli
On Fri, Apr 20, 2001 at 09:23:47AM +0100, David Howells wrote: Andrea seems to have changed his mind on the non-inlining in the generic case. I changed my mind because if you benchmark the fast path you will do it without running out of icache (basically only down_* and up_* will be in 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

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

2001-04-19 Thread Andrea Arcangeli
On Thu, Apr 19, 2001 at 11:21:17AM -0500, Bob McElrath wrote: > I'm at 2 days uptime now, and have not seen the process-table-hang. > Looks like this fixed it. Previously I would get a hang in the first > day or so. I'm using your alpha-numa-3 and rwsem-generic-4 against > 2.4.4pre3. good,

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

2001-04-19 Thread Bob McElrath
Bob McElrath [[EMAIL PROTECTED]] wrote: > Andrea Arcangeli [[EMAIL PROTECTED]] wrote: > > > > 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 > >

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

2001-04-19 Thread Bob McElrath
Bob McElrath [[EMAIL PROTECTED]] wrote: Andrea Arcangeli [[EMAIL PROTECTED]] wrote: 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

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

2001-04-19 Thread Andrea Arcangeli
On Thu, Apr 19, 2001 at 11:21:17AM -0500, Bob McElrath wrote: I'm at 2 days uptime now, and have not seen the process-table-hang. Looks like this fixed it. Previously I would get a hang in the first day or so. I'm using your alpha-numa-3 and rwsem-generic-4 against 2.4.4pre3. good, thanks

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

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

2001-04-18 Thread Andrea Arcangeli
On Wed, Apr 18, 2001 at 12:54:41AM +0100, D . W . Howells wrote: > > It is 36bytes. and on 64bit archs the difference is going to be less. > > You're right - I can't add up (must be too late at night), and I was looking > at wait_queue not wait_queue_head. I suppose that means my

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

2001-04-18 Thread Andrea Arcangeli
On Wed, Apr 18, 2001 at 12:54:41AM +0100, D . W . Howells wrote: It is 36bytes. and on 64bit archs the difference is going to be less. You're right - I can't add up (must be too late at night), and I was looking at wait_queue not wait_queue_head. I suppose that means my implementations

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

2001-04-17 Thread D . W . Howells
> It is 36bytes. and on 64bit archs the difference is going to be less. You're right - I can't add up (must be too late at night), and I was looking at wait_queue not wait_queue_head. I suppose that means my implementations are then 20 and 16 bytes respectively. On 64-bit archs the

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 10:48:02PM +0100, D . W . Howells wrote: > I disagree... you want such primitives to be as efficient as possible. The > whole point of having asm/.h files is that you can stuff them full of > dirty tricks specific to certain architectures. Of course you always have

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 11:29:23PM +0200, Christoph Hellwig wrote: > Yes! All the objects in export-objs only get additional depencies in > Rules.make - but if they do not get compiled at all that depencies won't > matter either. All other makefile work this way, btw. ok thanks for the confirm.

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

2001-04-17 Thread D . W . Howells
> I am sure ppc couldn't race (at least unless up_read/up_write were excuted > from irq/softnet context and that never happens in 2.4.4pre3, see below ;). This is not actually using the rwsem code I wrote at the moment. > And incidentally the above is what (I guess Richard) did on the alpha

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

2001-04-17 Thread Christoph Hellwig
Hi Andrea, In article <[EMAIL PROTECTED]> you wrote: > I didn't exported rwsem.c if CONFIG_RWSEM_GENERIC is set to n as suggested > by Christoph yet because the old code couldn't be buggy and it's not obvious to > me that the other way around is correct (Christoph are you sure we can export an >

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 08:18:57PM +0100, D . W . Howells wrote: > Andrea, > > > As said the design of the framework to plugin per-arch rwsem implementation > > isn't flexible enough and the generic spinlocks are as well broken, try to > > use them if you can (yes I tried that for the alpha,

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

2001-04-17 Thread D . W . Howells
Andrea, > As said the design of the framework to plugin per-arch rwsem implementation > isn't flexible enough and the generic spinlocks are as well broken, try to > use them if you can (yes I tried that for the alpha, it was just a mess and > it was more productive to rewrite than to fix).

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 05:59:13PM +0100, David Howells wrote: > Andrea, > > How did you generate the 00_rwsem-generic-1 patch? Against what did you diff? 2.4.4pre3 from kernel.org. > You seem to have removed all the optimised i386 rwsem stuff... Did it not work > for you? As said the design

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

2001-04-17 Thread David Howells
Andrea, How did you generate the 00_rwsem-generic-1 patch? Against what did you diff? You seem to have removed all the optimised i386 rwsem stuff... Did it not work for you? > (the generic rwsemaphores in those kernels is broken, try to use them in > other archs or x86 and you will notice) and

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

2001-04-17 Thread Christoph Hellwig
In article <[EMAIL PROTECTED]> 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

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

2001-04-17 Thread Bob McElrath
Andrea Arcangeli [[EMAIL PROTECTED]] wrote: > > 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 >

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

2001-04-17 Thread Andrea Arcangeli
On Fri, Apr 13, 2001 at 08:48:05AM -0500, Bob McElrath wrote: > Alan Cox [[EMAIL PROTECTED]] wrote: > > > (But since the X server shouldn't have the ability to corrupt the > > > kernel's process list, there has to be a problem in the kernel > > > somewhere) > > > > The X server has enough

generic rwsem [Re: Alpha process table hang]

2001-04-17 Thread Andrea Arcangeli
On Fri, Apr 13, 2001 at 08:48:05AM -0500, Bob McElrath wrote: Alan Cox [[EMAIL PROTECTED]] wrote: (But since the X server shouldn't have the ability to corrupt the kernel's process list, there has to be a problem in the kernel somewhere) The X server has enough priviledge to

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

2001-04-17 Thread Bob McElrath
Andrea Arcangeli [[EMAIL PROTECTED]] wrote: 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

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

2001-04-17 Thread Christoph Hellwig
In article [EMAIL PROTECTED] 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

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

2001-04-17 Thread David Howells
Andrea, How did you generate the 00_rwsem-generic-1 patch? Against what did you diff? You seem to have removed all the optimised i386 rwsem stuff... Did it not work for you? (the generic rwsemaphores in those kernels is broken, try to use them in other archs or x86 and you will notice) and I

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 05:59:13PM +0100, David Howells wrote: Andrea, How did you generate the 00_rwsem-generic-1 patch? Against what did you diff? 2.4.4pre3 from kernel.org. You seem to have removed all the optimised i386 rwsem stuff... Did it not work for you? As said the design of

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

2001-04-17 Thread D . W . Howells
Andrea, As said the design of the framework to plugin per-arch rwsem implementation isn't flexible enough and the generic spinlocks are as well broken, try to use them if you can (yes I tried that for the alpha, it was just a mess and it was more productive to rewrite than to fix).

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 08:18:57PM +0100, D . W . Howells wrote: Andrea, As said the design of the framework to plugin per-arch rwsem implementation isn't flexible enough and the generic spinlocks are as well broken, try to use them if you can (yes I tried that for the alpha, it was

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

2001-04-17 Thread Christoph Hellwig
Hi Andrea, In article [EMAIL PROTECTED] you wrote: I didn't exported rwsem.c if CONFIG_RWSEM_GENERIC is set to n as suggested by Christoph yet because the old code couldn't be buggy and it's not obvious to me that the other way around is correct (Christoph are you sure we can export an

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

2001-04-17 Thread D . W . Howells
I am sure ppc couldn't race (at least unless up_read/up_write were excuted from irq/softnet context and that never happens in 2.4.4pre3, see below ;). This is not actually using the rwsem code I wrote at the moment. And incidentally the above is what (I guess Richard) did on the alpha and

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 11:29:23PM +0200, Christoph Hellwig wrote: Yes! All the objects in export-objs only get additional depencies in Rules.make - but if they do not get compiled at all that depencies won't matter either. All other makefile work this way, btw. ok thanks for the confirm.

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

2001-04-17 Thread Andrea Arcangeli
On Tue, Apr 17, 2001 at 10:48:02PM +0100, D . W . Howells wrote: I disagree... you want such primitives to be as efficient as possible. The whole point of having asm/.h files is that you can stuff them full of dirty tricks specific to certain architectures. Of course you always have the

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

2001-04-17 Thread D . W . Howells
It is 36bytes. and on 64bit archs the difference is going to be less. You're right - I can't add up (must be too late at night), and I was looking at wait_queue not wait_queue_head. I suppose that means my implementations are then 20 and 16 bytes respectively. On 64-bit archs the difference