Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Apr 2012 08:55:37 -0700
From:      Jerry Toung <jrytoung@gmail.com>
To:        Alexander Leidinger <Alexander@leidinger.net>
Cc:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: CAM disk I/O starvation
Message-ID:  <CADC0LV=5BbAhSYj%2BTyf%2BQQ_yFR9YRiA94WnUMNyLZXbetsdgRg@mail.gmail.com>
In-Reply-To: <20120405052246.00002c53@unknown>
References:  <CADC0LV=-e%2B7PshRQdc69e2-Vktf6XFpVrqiMpx=QL4m_%2B9hSnw@mail.gmail.com> <20120403193124.46ad9de9@ernst.jennejohn.org> <CADC0LVm1HY2Dz%2BVk_GK35szRS6ySviLhMiL1TSRBOnPwQnBwRg@mail.gmail.com> <20120405052246.00002c53@unknown>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 4, 2012 at 8:22 PM, Alexander Leidinger <Alexander@leidinger.net
> wrote:

>
> This looks fair if all your disks are working at the same time (e.g.
> RAID only setup), but if you have a setup where you have multiple
> disks and only one is doing something, you limit the amount of tags
> which can be used. No idea what kind of performance impact this would
> have.
>
> I haven't seen any performance impact. da1, the one the used to stall
consistenly get over 600MB/s.


> What about the case where you have more disks than tags?
>
This part of the patch takes care of that scenario:

@@ -998,6 +1003,24 @@ xpt_add_periph(struct cam_periph *periph
        mtx_lock(&xsoftc.xpt_topo_lock);
        xsoftc.xpt_generation++;
+
+       if (device != NULL && device->sim->dev_count > 1 &&
+            (device->sim->max_dev_openings > device->sim->dev_count)) {
otherwise, we don't split the tags and the original behavior remains.


>
> I also noticed that you do a strncmp for "da". What about
> "ada" (available in 9 and 10), I would assume it suffers from the same
> problem.
>

I am running FreeBSD 8.1, no "ada". Me presenting a patch is just a way to
draw
attention on a problem and it improves things on my setup. There is
certainly a way to make it more general/inclusive.

Jerry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADC0LV=5BbAhSYj%2BTyf%2BQQ_yFR9YRiA94WnUMNyLZXbetsdgRg>