Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Apr 2010 17:41:27 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= <des@des.no>
Cc:        Maxim Sobolev <sobomax@FreeBSD.org>, FreeBSD-Current <freebsd-current@FreeBSD.org>, Richard Tector <richardtector@thekeelecentre.com>, freebsd-geom@FreeBSD.org
Subject:   Re: Switchover to CAM ATA?
Message-ID:  <4BD6F797.5090205@FreeBSD.org>
In-Reply-To: <86fx2h3rr6.fsf@ds4.des.no>
References:  <4BD06BD9.6030401@FreeBSD.org> <4BD099E6.6000402@FreeBSD.org>	<4BD0A689.8000508@thekeelecentre.com> <4BD0ACD2.3040805@FreeBSD.org>	<86och53tpl.fsf@ds4.des.no> <4BD6EDD6.8010403@FreeBSD.org> <86fx2h3rr6.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling Smørgrav wrote:
> Alexander Motin <mav@FreeBSD.org> writes:
>> Dag-Erling Smørgrav <des@des.no> writes:
>>> Most pseudo-raid kit has nifty features like checksum offloading,
>>> composite writes etc. which can improve performance considerably.  You
>>> can't access those from GEOM.
>> Have you ever seen them documented?
> 
> ISTR I got the info from sos@ at some point.  I have several Promise
> cards lying around and was working onm RAID5 offloading, but I stopped
> when ZFS became usable.

Out Promise driver doesn't even have ATAPI support, not speaking about
more advanced features.

>> Does the need to specifically handle dozens of incompatible
>> implementations with limited resources worth those (probably not
>> major) benefits?
> 
> The details probably vary from controller to controller, but the
> capabilities are pretty much the same: perform the same write operation
> to several disks at once, split a write operation across several disks,
> compute and write parity.
> 
> IIRC, composite writes are already supported but not used.

I haven't dug really deep into current ataraid(4), but AFAIK it is all
done in software. At least there is no any offloading support on the
controller drivers level. None of ata(4) drivers do anything except
executing one ATA command at a time.

Looking that most of modern controllers threat every SATA channel
independently, with separate request queue, status, interrupts and so
on, I can hardly imagine how could they partially accelerate such
things. The only alike example I know is a parity calculation
accelerator in Marvel ARM SoCs. But it is completely separate device,
unrelated to SATA controller.

Any URLs?

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BD6F797.5090205>