Messages in this thread | | | Date | Wed, 19 May 1999 00:36:09 +0200 | From | Andi Kleen <> | Subject | Re: Bad apache perfomance wtih linux SMP |
| |
On Tue, May 18, 1999 at 09:40:57PM +0200, Juergen Schmidt wrote: > On Tue, 18 May 1999, Andi Kleen wrote: > > > If you don't believe me :) you can verify it: > > > > csum_and_copy_from_user > > ... > > calls finally do_swap_page (same file) > > and there at the end is: > > unlock_kernel(); > > You convinced me, that it may happen anyway. What's still open is: is it > really ok, that it happens.
It is really ok, if it isn't that would be a serious bug just waiting to hurt someone. Every kernel part that accesses user space has to handle sleeping (this is not to say that some parts of the kernel are not buggy in this regard, but at least for well tested basic parts like the main TCP send path it should be ok - and I know of no bugs here)
The bigger concern is that the compiler compiles it correctly. It seems some problems were tracked down to egcs 1.1 sometimes moving memory accesses around the memory barrier in lock_kernel, so compiling it with gcc 2.7.2 is probably more safe.
BTW the modification only covers the TCP send path, there is a more extensive patch around that does it for ext2 reading, writing, TCP receiving and other parts too - the basic principle is always the same.
[The compiler problems were encountered with the big patch, not the simple modification I suggested to you]
-Andi
p.S.: sorry for the delay with the lock profiling patch, I first have to extract it from my kernel tree. you'll have it before tomorrow.
-- This is like TV. I don't like TV.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |