Re: single copy pipe/fifo

2001-02-07 Thread David S. Miller
Manfred Spraul writes: > process 2 (on cpu 1) > read(fd,buf,64kB). > * reads the data > * now it must wake up, but it will return from the syscall, thus > wake_up_interruptible(). Oh, I see and thus the pre-kiovec case would be: process 2 (on cpu 1) read(fd, buf,64kb

Re: single copy pipe/fifo

2001-02-07 Thread Manfred Spraul
"David S. Miller" wrote: > > Manfred Spraul writes: > > * if you run 2 instances on a dual cpu P II/350 it's a big win, but if > > you run only one instance, then the bw_pipe processes will jump from one > > cpu to the other and it's only a small improvement (~+15%). > > wake_up_interruptible

Re: single copy pipe/fifo

2001-02-07 Thread David S. Miller
Manfred Spraul writes: > * if you run 2 instances on a dual cpu P II/350 it's a big win, but if > you run only one instance, then the bw_pipe processes will jump from one > cpu to the other and it's only a small improvement (~+15%). wake_up_interruptible_sync is meant specifically to avoid th

single copy pipe/fifo

2001-02-07 Thread Manfred Spraul
I finished my single copy pipe/fifo implementation. Main changes: * it's more a rewrite of pipe_read() and pipe_write(). Both functions were a nightmare of nested loops and gotos. I wrote a test app - with the right timing multiple writers on a fifo can race and then they busy loop i