Re: Where is the performance bottleneck?

From: jmerkey
Date: Wed Aug 31 2005 - 12:14:57 EST



512 is not enough. It has to be larger. I just tried 512 and it still limits the data rates.

Jeff


Jens Axboe wrote:

On Wed, Aug 31 2005, jmerkey wrote:


I have seen an 80GB/sec limitation in the kernel unless this value is changed in the SCSI I/O layer
for 3Ware and other controllers during testing of 2.6.X series kernels.

Change these values in include/linux/blkdev.h and performance goes from 80MB/S to over 670MB/S on the 3Ware controller.


//#define BLKDEV_MIN_RQ 4
//#define BLKDEV_MAX_RQ 128 /* Default maximum */
#define BLKDEV_MIN_RQ 4096
#define BLKDEV_MAX_RQ 8192 /* Default maximum */



That's insane, you just wasted 1MiB of preallocated requests on each
queue in the system!

Please just do

# echo 512 > /sys/block/dev/queue/nr_requests

after boot for each device you want to increase the queue size too. 512
should be enough with the 3ware.




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/