svn commit: r184429 - head/sys/powerpc/powermac
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
>> 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
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.
More information about the svn-src-all