svn commit: r200171 - in head: sbin/atacontrol sys/arm/mv
sys/cam/ata
sys/cam/scsi sys/conf sys/dev/ata sys/dev/ata/chipsets sys/powerpc/powermac
sys/powerpc/psim
Alexander Motin
mav at FreeBSD.org
Sun Dec 6 12:37:20 UTC 2009
Roman Divacky wrote:
> On Sun, Dec 06, 2009 at 12:10:13AM +0000, Alexander Motin wrote:
>> Author: mav
>> Date: Sun Dec 6 00:10:13 2009
>> New Revision: 200171
>> URL: http://svn.freebsd.org/changeset/base/200171
>>
>> Log:
>> MFp4:
>> Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
>> cam(4) interface modules. When enabled, this options deprecates all ata(4)
>> peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers
>> (ada, cd, ...) and interfaces to be natively used instead.
>>
>> As side effect of this, ata(4) mode setting code was completely rewritten
>> to make controller API more strict and permit above change. While doing
>> this, SATA revision was separated from PATA mode. It allows DMA-incapable
>> SATA devices to operate and makes hw.ata.atapi_dma tunable work again.
>>
>> Also allow ata(4) controller drivers (except some specific or broken ones)
>> to handle larger data transfers. Previous constraint of 64K was artificial
>> and is not really required by PCI ATA BM specification or hardware.
>
> are there any performance benefits of the 64K limit removal?
Yes, but it depends on drive and controller. Also it reduces interrupt
rate, CPU and command overhead. Also I prefer to have single system-wide
tunable for this (MAXPHYS), instead of absolutely ungrounded hardcoded
limitation in every driver.
--
Alexander Motin
More information about the svn-src-all
mailing list