Cached file read performance with 6.2-PRERELEASE

Oliver Fromme olli at
Thu Dec 21 08:23:02 PST 2006

Pieter de Goeje wrote:
 > Mark Kirkwood wrote:
 > > Pieter de Goeje wrote:
 > > > Copying /dev/zero to /dev/null yields more than 5GB/sec on a simple 2Ghz
 > > > Athlon64. It imagine there are quite a few extra things done when copying
 > On second thought, this is wrong because /dev/zero isn't a real block
 > of memory

It _is_ a real block of memory.  To be exact, it's called
zbuf[] in src/sys/dev/null/null.c.  It's the size of one
page (4 KB or 8 KB, depending on architecture).  When some
program reads from the zero device, that block is copied
repeatedly from kernel space to user space.

 > so these results say nothing about memory I/O speed because
 > all data is in (cpu) cache.

That's true.  The test rather benchmarks the CPU, the cache
and the overhead involved when copying data between kernel
and user space.

Best regards

Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD:
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

More information about the freebsd-stable mailing list