svn commit: r184429 - head/sys/powerpc/powermac

Scott Long scottl at samsco.org
Wed Oct 29 09:13:36 PDT 2008


John Baldwin wrote:
> On Tuesday 28 October 2008 06:09:30 pm Nathan Whitehorn wrote:
>> Author: nwhitehorn
>> Date: Tue Oct 28 22:09:30 2008
>> New Revision: 184429
>> URL: http://svn.freebsd.org/changeset/base/184429
>>
>> Log:
>>   DBDMA can transfer a maximum of 64K - 1 bytes per descriptor, as the byte
>>   count field is 16 bits. Inform ATA of this fact.
> 
> You may want to use 32k transfers rather than 63k.  At least on the HT1000 
> chipsets we got severe data corruption even with 63k transfers, and I'm not 
> sure if some part of the kernel isn't dependent on power-of-2 transfers 
> somehow.
> 

There are a number of places where direct I/O that is initiated by the
kernel works just fine for non-power-of-2 sizes and offsets,
particularly in GEOM taste routines and in several filesystem drivers.
I'm pretty sure I can also reliably demonstrate it from userland via
O_DIRECT.  Buffered I/O is a different matter, and there could possibly
be some edge cases that exist below the buffer layer.

Scott


More information about the svn-src-all mailing list