tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Performance riddle: mounted fs much faster than dev
Hi,
David Holland:
> The short answer is: use rwd1f, not wd1f.
I tried this already. Re-try on 6.99.40:
netbsd# dd bs=2048 count=131072 if=/dev/rwd1f of=/dev/null
131072+0 records in
131072+0 records out
268435456 bytes transferred in 36.982 secs (7258543 bytes/sec)
In any case the speed factor of about 15 to 20 cannot be explained
by any CPU effort. top(1) shows 33 % interrupt, and 23 % idle.
Reading the file out of the mounted fs shows 15 % interrupt and
0 % idle. I need to read the full 4+ GiB to get significant
values in top. It is awsome fast. And the MD5 is correct.
The file consists of a few non-zero bytes at start, a zillion zeros,
and a few non-zeros near the end.
On 6.1.3 i experienced faster throughput via /dev/rwd1f up to
the first hundred MB (watched by a pacifier filter named "raedchen"),
but the speed sank heavily afterwards.
It was never near the speed of the mounted file (on 6.99.40).
Don't get me wrong. I'm not complaining.
But i wonder what in cd9660 does the trick.
Is it the readahead information provided by cd9660_bmap() ?
(Good idea to base readahead on the file and not on the device.
Could be a vaccination against the classic TAO CD readahead bug
of my host OS.)
Where in /usr/src would i find code for reading ahead in order
to inject a printf() and watch what it is doing ?
Have a nice day :)
Thomas
Home |
Main Index |
Thread Index |
Old Index