Testing needed for new pipe code (in master)
qhwt+dfly at les.ath.cx
Mon Jul 27 22:22:24 PDT 2009
On Sun, Jul 12, 2009 at 10:45:09PM -0700, Matthew Dillon wrote:
> I have substantially rewritten kern/sys_pipe.c, which is our support
> for pipes. It should work quite well on a SMP box now. Performance
> on UP boxes might be a bit lower then the old code but the difference
> should not be noticable for any production workload.
> To test the SMP improvements set sysctl kern.pipe.mpsafe=1.
> The latest code significantly improves synchronous communication over
> a pipe (not a socket, sorry), reducing (Awrite,Bread,Bwrite,Aread)
> sequences from 7uS to 2uS on my test box. The pipe1 test (from
> /usr/src/test/sysperf) tests this.
> The latest code is now able to fully saturated all available cpus
> when running multiple copies of the pipe2 test (from
Recently I occasionally see processes stuck on `piperd' state, probably
after it's been turned on by default. The stuck processes can be
interrupted and re-issued, though. It happened on both vkernel and
the real kernel. The first time I saw it was when `make upgrade' was
performing `./MAKEDEV upgrade', so I thought it was temporary back then.
More information about the Kernel