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-head mailing list