From owner-freebsd-scsi Thu Jul 11 10:47:01 1996 Return-Path: owner-freebsd-scsi Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA22021 for freebsd-scsi-outgoing; Thu, 11 Jul 1996 10:47:01 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id KAA22015 for ; Thu, 11 Jul 1996 10:46:58 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id DAA06242; Fri, 12 Jul 1996 03:39:31 +1000 Date: Fri, 12 Jul 1996 03:39:31 +1000 From: Bruce Evans Message-Id: <199607111739.DAA06242@godzilla.zeta.org.au> To: freebsd-scsi@freebsd.org, mark@plato.ucsalf.ac.uk Subject: Re: Does Adaptec 7880 Ultra support simultaneous wide and narrow transfers? Sender: owner-freebsd-scsi@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >$ dd if=/dev/sd0c of=/dev/sd1c bs=512k >However, this only yields data transfer rates in the 200K/s range. I've tried both >larger and smaller buffer sizes with no apparent increase. I'm beginning to wonder This gives an effective buffer size of 2K for writes. This is far too small for good performance. >Am I expecting the wrong thing here? Yes, using the buffered device is wrong. It forces the kernel to allocate kernel memory for buffer(s). This wastes a lot of memory and forces the kernel to split up the i/o. The kernel uses a buffer size of 2K. This is too small for yesterday's and today's SCSI drives, at least if the drive or driver doesn't support command queueing. More seriously, using the buffered device gives poor error handling. Write errors (if any) occur asynchronously, so they can't be reported by the application. They just get logged. Bruce