Date: Thu, 28 Mar 2013 09:27:46 -0600 From: Scott Long <scottl@samsco.org> To: mjacob@freebsd.org Cc: freebsd-current@freebsd.org Subject: Re: Any objections/comments on axing out old ATA stack? Message-ID: <C92954BE-0E4A-49D2-9D58-325E78A2B304@samsco.org> In-Reply-To: <51536EFD.4060202@freebsd.org> References: <51536306.5030907@FreeBSD.org> <51536EFD.4060202@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 27, 2013, at 4:13 PM, Matthew Jacob <mjacob@FreeBSD.org> wrote: > On 3/27/2013 2:22 PM, Alexander Motin wrote: >> Hi. >>=20 >> Since FreeBSD 9.0 we are successfully running on the new CAM-based = ATA stack, using only some controller drivers of old ata(4) by having = `options ATA_CAM` enabled in all kernels by default. I have a wish to = drop non-ATA_CAM ata(4) code, unused since that time from the head = branch to allow further ATA code cleanup. >>=20 >> Does any one here still uses legacy ATA stack (kernel explicitly = built without `options ATA_CAM`) for some reason, for example as = workaround for some regression? Does anybody have good ideas why we = should not drop it now? >>=20 > Some people have expressed performance concerns about ATA_CAM. I have = not validated those concerns. Does anyone know of any? The albatross of "CAM is slow" comes up over and over, but I never see = any data to support the claims. So here's an anecdote of my own. Several years ago, Paul Saab and I were looking at performance problems = with the CISS driver. To rule out the "CAM is slow" argument, he wrote = a shim for it that completely cut out CAM and gave it a thin block layer = attachment. The result was that his new driver was actually _slower_ = than the CAM driver. Why? CAM scheduler actually does a really good = job with keeping the pipeline to the driver full and free of stalls. = Also, the code overhead of going through CAM is also much smaller than = people assume, likely because no one actually reads the code before they = make the assumption. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C92954BE-0E4A-49D2-9D58-325E78A2B304>