From owner-freebsd-stable Sun Aug 2 15:04:57 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA23862 for freebsd-stable-outgoing; Sun, 2 Aug 1998 15:04:57 -0700 (PDT) (envelope-from owner-freebsd-stable@FreeBSD.ORG) Received: from nohow.demon.co.uk (nohow.demon.co.uk [212.228.18.189]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA23844; Sun, 2 Aug 1998 15:04:49 -0700 (PDT) (envelope-from jose@nohow.demon.co.uk) Received: from localhost (jose@localhost) by nohow.demon.co.uk (8.8.8/8.8.8) with SMTP id XAA00245; Sun, 2 Aug 1998 23:04:02 +0100 (BST) (envelope-from jose@nohow.demon.co.uk) Date: Sun, 2 Aug 1998 23:04:01 +0100 (BST) From: Jose Marques To: freebsd-stable@FreeBSD.ORG, freebsd-mobile@FreeBSD.ORG Subject: wd driver multi-sector I/O and laptops Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I am running FreeBSD 2.2.7-stable (last updated on August 1st) on a Toshiba Libretto 70CT. I have replaced the supplied HD with a bigger 3.2GB Hitachi unit. I have been playing with the "32-bit" and "multi-sector transfer" options of the wd driver. I have the following in my kernel config file: controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 flags 0x80ff This produces the following probe message: wdc0 at 0x1f0-0x1f7 irq 14 on isa wdc0: unit 0 (wd0): , 32-bit, multi-block-16 wd0: 3102MB (6354432 sectors), 6304 cyls, 16 heads, 63 S/T, 512 B/S Using iozone before and after I see a great improvement in sequential access. The only problem occurs when I suspend my laptop and then resume. If I resume from RAM I have no problem, however, if I resume from disk then I see the following error almost immediately after the system has resumed: wd0s2f: reverting to non-multi sector mode writing fsbn 65776 of 65776-65791 (wd0s2 bn 1761520; cn 218 tn 56 sn 40)wd0: status 51 error 4 Running iozone after this shows that performance has dropped to the level when not using multi-sector transfers. I have tried using 0xc0ff (suspend-hack) but the problem still occurs. Looking at the file "/sys/i386/isa/wd.c" I notice that the driver turns off multi-sector i/o on any such error. I was wondering if it was "safe" to stop it doing this. Alternatively does the problem I describe above constitute a "bug" that I should report - or is it meant to behave that way. Thanks in advance for any advice. -- Jose Marques To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message