Re: io performance...

From: Al Boldi
Date: Thu Jan 19 2006 - 06:38:51 EST


Jeff V. Merkey wrote:
> Jens Axboe wrote:
> >On Mon, Jan 16 2006, Jeff V. Merkey wrote:
> >>Max Waterman wrote:
> >>>I've noticed that I consistently get better (read) numbers from kernel
> >>>2.6.8 than from later kernels.
> >>
> >>To open the bottlenecks, the following works well. Jens will shoot me
> >>-#define BLKDEV_MIN_RQ 4
> >>-#define BLKDEV_MAX_RQ 128 /* Default maximum */
> >>+#define BLKDEV_MIN_RQ 4096
> >>+#define BLKDEV_MAX_RQ 8192 /* Default maximum */
> >
> >Yeah I could shoot you. However I'm more interested in why this is
> >necessary, eg I'd like to see some numbers from you comparing:
> >
> >- Doing
> > # echo 8192 > /sys/block/<dev>/queue/nr_requests
> > for each drive you are accessing.
> >
> >The BLKDEV_MIN_RQ increase is just silly and wastes a huge amount of
> >memory for no good reason.
>
> Yep. I build it into the kernel to save the trouble of sending it to proc.
> Jens recommendation will work just fine. It has the same affect of
> increasing the max requests outstanding.

Your suggestion doesn't do anything here on 2.6.15, but
echo 192 > /sys/block/<dev>/queue/max_sectors_kb
echo 192 > /sys/block/<dev>/queue/read_ahead_kb
works wonders!

I don't know why, but anything less than 64 and more than 256 makes the queue
collapse miserably, causing some strange __copy_to_user calls?!?!?

Also, it seems that changing the kernel HZ has some drastic effects on the
queues. A simple lilo gets delayed 400% and 200% using 100HZ and 250HZ
respectively.

--
Al

-
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/