Re: CCISS performance drop in buffered disk reads in newer kernels

From: Jens Axboe
Date: Mon Dec 07 2009 - 14:33:00 EST


On Mon, Dec 07 2009, Miller, Mike (OS Dev) wrote:
> > > (max_hw_sectors_kb is 512 on my 2.6.25.20 setup and 1024 on
> > 2.6.30.9
> > > but it seems that it's read-only)
> >
> > The *_hw_* values are the driver exported hardware limits, so
> > they are always read-only.
>
> Ahhh, I didn't know that. There is also an nr_requests attribute which
> to me implies limiting requests somewhere. The value of nr_request is
> 128 but the max commands to the cciss controllers exceed that value.
> What is nr_request supposed to do?

It controls what the block layer queue depth may be. As a rule of thumb,
it should be twice the hardware queue depth. A value of 128 means you
can have at most 128 reads and 128 writes queued in the IO scheduler. In
practice it's a bit more due to request allocation batching.

--
Jens Axboe

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