From owner-svn-src-head@FreeBSD.ORG Wed Oct 29 16:13:36 2008 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 799231065672; Wed, 29 Oct 2008 16:13:36 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 2B57D8FC16; Wed, 29 Oct 2008 16:13:35 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.local ([192.168.254.200]) (authenticated bits=0) by pooker.samsco.org (8.14.2/8.14.2) with ESMTP id m9TGDT7e071843; Wed, 29 Oct 2008 10:13:29 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <49088BA9.2000501@samsco.org> Date: Wed, 29 Oct 2008 10:13:29 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9 MIME-Version: 1.0 To: John Baldwin References: <200810282209.m9SM9UMQ005356@svn.freebsd.org> <200810291111.47677.jhb@freebsd.org> In-Reply-To: <200810291111.47677.jhb@freebsd.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.4 required=3.8 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Nathan Whitehorn Subject: Re: svn commit: r184429 - head/sys/powerpc/powermac X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Oct 2008 16:13:36 -0000 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