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
