Re: [PATCH 1/1] cciss per disk queue for 2.6

Jens Axboe
2005-07-01T07:01:33Z

On Thu, Jun 30 2005, mike.miller@hp.com wrote:
> This patch adds per disk queue functionality to cciss. Sometime back I
> submitted a patch but it looks like only part of what I needed. In the
> 2.6 kernel if we have more than one logical volume the driver will
> Oops during rmmod. It seems all of the queues actually point back to
> the same queue. So after deleting the first volume you hit a null
> pointer on the second one.
>
> This has been tested in our labs. There is no difference in
> performance, it just fixes the Oops. Please consider this patch for
> inclusion.

Going to per-disk queues is undoubtedly a good idea, performance will be
much better this way. So far, so good.

But you need to do something about the queueing for this to be
acceptable, imho. You have a per-controller queueing limit in place, you
need to enforce some fairness to ensure an equal distribution of
commands between the disks.

Perhaps just limit the per-queue depth to something sane, instead of the
huuuge 384 commands you have now. I've had several people complain to
me, that ciss is doing some nasty starvation with that many commands in
flight and we've effectively had to limit the queueing depth to
something really low to get adequate read performance in presence of
writes.

--
Jens Axboe