[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, and
initial post to Linux kernel developers mailing list at

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 ?


More information about the freebsd-hackers mailing list