[kern/sys_pipe.c] PIPE_NODIRECT and pipe throughput

Antipov Dmitry dmantipov at yandex.ru
Sat Mar 8 07:19:21 UTC 2008


[originally posted to freebsd-stable@]

Hello all,

recently I've tried a few benchmarks around pipe throughput on Linux vs. FreeBSD.
Everyone interesting can see my stuff at http://213.148.29.37/PipeBench, and
initial post to Linux kernel developers mailing list at
http://www.uwsg.iu.edu/hypermail/linux/kernel/0803.0/1837.html

1) It was noticed (http://www.uwsg.iu.edu/hypermail/linux/kernel/0803.0/1842.html) that
the page flipping may be a reason of FreeBSD advantage. I've looked at kern/sys_pipe.c
and found that defining PIPE_NODIRECT should disable it. Is that correct ?

2) When I've tried to run the kernel (7.0-STABLE) with PIPE_NODIRECT defined,
I didn't see any slowdown (note 30% is promised in kern/sys_pipe.c comments)
even for I/O buffer sizes >= PIPE_MINDIRECT. So, what should be done with a pipe
to see a difference between PIPE_NODIRECT enabled and disabled ?

Thanks,
Dmitry


More information about the freebsd-hackers mailing list