On Thu, 14 Sep 2006 16:36:12 -0700 Badari Pulavarty <pbadari@xxxxxxxxxx> wrote: > Hi Andrew, > > I have been working on tracking down ~20% performance degrade for > sequential read performance for ext3. oop. I'd kinda prefer that we discover things like this before the patch gets into mainline. > Finally narrowed it down to get_blocks() support. If I force > ext3_get_blocks_handle() to always return 1 block - I get better > IO rate. I did all the usual stuff, tracked down requests, traced > blocksizes, looked at readahead code, looked at mpage_readpages() > etc.. I still can't figure out how to explain the degrade.. > > Any suggestions on how to track it down. Learn to driver Jens's blktrace stuff, find out why the IO scheduling went bad. Number one suspicion: the buffer_boundary() stuff isn't working. > Thanks, > Badari > > # cat iotest > mount /dev/sdb2 /mnt/tmp > time dd if=/mnt/tmp/testfile of=/dev/null bs=4k count=1048576 > umount /mnt/tmp Try using /proc/sys/vm/drop_caches, or ext3-tools's fadvise.c... > 2.6.18-rc6: (multiblock): > > # ./iotest > 1048576+0 records in > 1048576+0 records out > 4294967296 bytes (4.3 GB) copied, 75.2654 seconds, 57.1 MB/s > > real 1m15.282s > user 0m0.248s > sys 0m4.292s > > 2.6.18-rc6 (force single block in ext3_get_blocks_handle(): > > # ./iotest > ./iotest > 1048576+0 records in > 1048576+0 records out > 4294967296 bytes (4.3 GB) copied, 62.9472 seconds, 68.2 MB/s > > real 1m2.976s > user 0m0.268s > sys 0m4.280s ow. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html