Am Mittwoch 13 Dezember 2006 16:42 schrieb Phillip Susi:
Johannes Niess wrote:
stingray ~ # dd if=/dev/zero of=/dev/pktcdvd/dvdrw bs=32768 count=25000 25000+0 records in 25000+0 records out 819200000 bytes (819 MB) copied, 86.3305 seconds, 9.5 MB/s
stingray ~ # dd if=/dev/zero of=/dev/pktcdvd/dvdrw bs=32769 count=25000 25000+0 records in 25000+0 records out 819225000 bytes (819 MB) copied, 1312.45 seconds, 624 kB/s
These two commands appear to be exactly the same, yet have different results. Can you explain this?
I went for a minimal difference. The second experiment is with block size increased by 1 byte (32k + 1) = 32769. Sorry for not making that obvious. The change was intended to force reblocking. I agree that it is not a real world test.
Also make sure /dev/hdc is using the noop io scheduler. My data was generated with cfq, settings as below (execpt changing io scheduler), but no other process was accessing the DVD drive.
Will this work? echo noop > /sys/block/hdc/queue/scheduler stingray ~ # ls /sys/block/hdc/queue/* /sys/block/hdc/queue/max_hw_sectors_kb /sys/block/hdc/queue/nr_requests /sys/block/hdc/queue/scheduler /sys/block/hdc/queue/max_sectors_kb /sys/block/hdc/queue/read_ahead_kb /sys/block/hdc/queue/iosched: stingray ~ # cat /sys/block/hdc/queue/* cat: /sys/block/hdc/queue/iosched: Is a directory 128 128 128 128 [noop] cfq Is there anything else I should log besides the write speeds? Would outputs from /proc/diskstats help? I could do the differences before and after each experiment or even log it every couple of seconds. I'm also willing to try experimental module patches based on 2.6.19 vanilla or mm. I'd like to provide a maximum of required debugging data from the next experiments. Thank you for trying to understand my problem. Johannes Nieß