Hi Hannah,

On 2006.02.20, at 11:21 PM, Hannah Schroeter wrote:

Just one "effect" you have to care for, on Linux (which *has* a unified
VM/buffer cache system) we mkdir many directories (e.g. hashed buckets
like squid uses them, just a few more, 256 * 256, to be precise). It was
quite long (at least into the Linux 2.4 series) that that worked like
this: mkdir completed quite fast until the memory was filled with dirty
blocks, then the box *hung* completely until all the dirty blocks were
actually written to disk. This isn't acceptable. And it's not acceptable
for something like grep foo (a list of names of long files) pages out
every program.

The Linux UBC doesn't seem to perform very well either. Assuming I tested this correctly, I wrote a simple script to read a large file (larger than half available RAM but less than total available), over and over again (hundreds of times) just to /dev/null. NetBSD and FreeBSD read the file from disk once, as noted from the activity light and then flew through the remaining re-reads super fast from RAM (FreeBSD being the faster of the two). I expected this behaviour from Linux, but instead Linux constantly read the file from disk _extremely_ slowly (found on various Linux distros). Much much slower than OpenBSD which also read the file from disk each time.

Is OpenBSD way too different now from NetBSD to port their UBC code?


Shane J Pearson        shanejp netspace net au

Reply via email to