[PATCH] rw_semaphores, exported symbol non-versioning

2001-04-27 Thread D . W . Howells
This patch (made against linux-2.4.4-pre8) turns off module export versioning on the rwsem symbols called from inline assembly. David diff -uNr linux-2.4.4-pre8/lib/rwsem.c linux-rwsem/lib/rwsem.c --- linux-2.4.4-pre8/lib/rwsem.cFri Apr 27 20:10:11 2001 +++ linux-rwsem/lib/rwsem.c

[PATCH] rw_semaphores, exported symbol non-versioning

2001-04-27 Thread D . W . Howells
This patch (made against linux-2.4.4-pre8) turns off module export versioning on the rwsem symbols called from inline assembly. David diff -uNr linux-2.4.4-pre8/lib/rwsem.c linux-rwsem/lib/rwsem.c --- linux-2.4.4-pre8/lib/rwsem.cFri Apr 27 20:10:11 2001 +++ linux-rwsem/lib/rwsem.c

[PATCH] rw_semaphores, optimisations try #4

2001-04-25 Thread D . W . Howells
This patch (made against linux-2.4.4-pre6 + rwsem-opt3) somewhat improves performance on the i386 XADD optimised implementation: A patch against -pre6 can be obtained too: ftp://infradead.org/pub/people/dwh/rwsem-pre6-opt4.diff Here's some benchmarks (take with a pinch of salt of

[PATCH] rw_semaphores, optimisations try #4

2001-04-25 Thread D . W . Howells
This patch (made against linux-2.4.4-pre6 + rwsem-opt3) somewhat improves performance on the i386 XADD optimised implementation: A patch against -pre6 can be obtained too: ftp://infradead.org/pub/people/dwh/rwsem-pre6-opt4.diff Here's some benchmarks (take with a pinch of salt of

[PATCH] rw_semaphores, optimisations try #3

2001-04-23 Thread D . W . Howells
This patch (made against linux-2.4.4-pre6) makes a number of changes to the rwsem implementation: (1) Everything in try #2 plus (2) Changes proposed by Linus for the generic semaphore code. (3) Ideas from Andrea and how he implemented his semaphores. Linus, you suggested that the generic

[PATCH] rw_semaphores, optimisations try #3

2001-04-23 Thread D . W . Howells
This patch (made against linux-2.4.4-pre6) makes a number of changes to the rwsem implementation: (1) Everything in try #2 plus (2) Changes proposed by Linus for the generic semaphore code. (3) Ideas from Andrea and how he implemented his semaphores. Linus, you suggested that the generic

Re: [PATCH] rw_semaphores, optimisations

2001-04-22 Thread D . W . Howells
Hello Andrea, Interesting benchmarks... did you compile the test programs with "make SCHED=yes" by any chance? Also what other software are you running? The reason I ask is that running a full blown KDE setup running in the background, I get the following numbers on the rwsem-ro test (XADD

Re: [PATCH] rw_semaphores, optimisations

2001-04-22 Thread D . W . Howells
Hello Andrea, Interesting benchmarks... did you compile the test programs with "make SCHED=yes" by any chance? Also what other software are you running? The reason I ask is that running a full blown KDE setup running in the background, I get the following numbers on the rwsem-ro test (XADD

[PATCH] i386 rw_semaphore improvements

2001-04-20 Thread D . W . Howells
This patch (made against linux-2.4.4-pre5) makes several changes to the rwsem implementation: (1) It fixes the bug found by Andrea by changing how processes that are waiting on the semaphore are managed. (2) As a result of (1), the wake_up_ctx() stuff is no longer used and has been

[PATCH] i386 rw_semaphore improvements

2001-04-20 Thread D . W . Howells
This patch (made against linux-2.4.4-pre5) makes several changes to the rwsem implementation: (1) It fixes the bug found by Andrea by changing how processes that are waiting on the semaphore are managed. (2) As a result of (1), the wake_up_ctx() stuff is no longer used and has been

[PATCH] generic rw_semaphores, compile warnings patch

2001-04-19 Thread D . W . Howells
This patch (made against linux-2.4.4-pre4) gets rid of some warnings obtained when using the generic rwsem implementation. David diff -uNr linux-2.4.4-pre4/include/linux/rwsem.h linux/include/linux/rwsem.h --- linux-2.4.4-pre4/include/linux/rwsem.h Thu Apr 19 22:07:49 2001 +++

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

[PATCH] generic rw_semaphores, compile warnings patch

2001-04-19 Thread D . W . Howells
This patch (made against linux-2.4.4-pre4) gets rid of some warnings obtained when using the generic rwsem implementation. David diff -uNr linux-2.4.4-pre4/include/linux/rwsem.h linux/include/linux/rwsem.h --- linux-2.4.4-pre4/include/linux/rwsem.h Thu Apr 19 22:07:49 2001 +++

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 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 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 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 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 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

Re: [PATCH] 4th try: i386 rw_semaphores fix

2001-04-12 Thread D . W . Howells
Andrew Morton wrote: > It still doesn't compile with gcc-2.91.66 because of the "#define > rwsemdebug(FMT, ...)" thing. What can we do about this? Hmmm... It probably needs to be made conditional on the version of the compiler by means of the macros that hold the version numbers. > I

What happened to merge_segments()?

2001-01-16 Thread D . W . Howells
Can someone tell me what happened to the merge_segments() function in mm/mmap.c? I was using it in my Wine accelerator module, but it's no longer present. Cheers, David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED]

What happened to merge_segments()?

2001-01-16 Thread D . W . Howells
Can someone tell me what happened to the merge_segments() function in mm/mmap.c? I was using it in my Wine accelerator module, but it's no longer present. Cheers, David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED]