From owner-freebsd-stable Tue Oct 31 7: 9: 3 2000 Delivered-To: freebsd-stable@freebsd.org Received: from boco.fee.vutbr.cz (boco.fee.vutbr.cz [147.229.9.11]) by hub.freebsd.org (Postfix) with ESMTP id DDB2137B4CF for ; Tue, 31 Oct 2000 07:08:59 -0800 (PST) Received: from kazi.dcse.fee.vutbr.cz (kazi.dcse.fee.vutbr.cz [147.229.8.12]) by boco.fee.vutbr.cz (8.11.1/8.11.1) with ESMTP id e9VF8pP40883 (using TLSv1/SSLv3 with cipher EDH-RSA-DES-CBC3-SHA (168 bits) verified OK) for ; Tue, 31 Oct 2000 16:08:52 +0100 (CET) Received: (from cejkar@localhost) by kazi.dcse.fee.vutbr.cz (8.11.0/8.11.0) id e9VF8kN09974 for freebsd-stable@freebsd.org; Tue, 31 Oct 2000 16:08:46 +0100 (CET) Date: Tue, 31 Oct 2000 16:08:46 +0100 From: Cejka Rudolf To: freebsd-stable@freebsd.org Subject: Tagged queuing on ATA drives under heavy load Message-ID: <20001031160846.A5841@dcse.fee.vutbr.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, I'm trying to test tagged queuing on ATA drives under heavy load and there are some problems. My configuration is (fresh stable CVS): FreeBSD 4.1.1-STABLE #0: Tue Oct 31 12:14:57 CET 2000 CPU: Pentium III/Pentium III Xeon/Celeron (737.02-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x683 Stepping = 3 Features=0x383f9ff real memory = 134131712 (130988K bytes) avail memory = 126414848 (123452K bytes) atapci0: port 0xa800-0xa80f at device 31.1 on pci0 ad0: 6149MB [13328/15/63] at ata0-master UDMA66 ad1: 14649MB [29765/16/63] at ata0-slave tagged UDMA100 ad2: 14649MB [29765/16/63] at ata1-master tagged UDMA100 Is it possible that source of problems is a combination of UDMA66 and tagged UDMA100 on one channel? My test script follows: -- R="-a -v 3 -c 128 -n 8192" for P in 1 2 3 4 5 6 8 10; do echo "disk_rawio_p_${P}" >&2 sync ; sync ; sync rawio ${R} -p ${P} /dev/ad1s1e > disk_rawio_p_${P}_ad1.txt & rawio ${R} -p ${P} /dev/ad2s1e > disk_rawio_p_${P}_ad2.txt & wait done -- When I run only one rawio at a time (without "&" and "wait"), there is not any problem. However, if I run this script with two parallel rawios operating on different drives with increasing number of parallel processes on each drive (-p), after some time kernel writes: 13:27:00 x /kernel: ad1: READ command timeout tag=0 serv=1 - resetting 13:27:00 x /kernel: ad1: invalidating queued requests 13:27:00 x /kernel: ata0: resetting devices .. ad1: invalidating queued requests 13:27:00 x /kernel: done 13:27:00 x /kernel: ad1: no request for this tag=0?? 13:27:00 x /kernel: ad1: invalidating queued requests 13:27:10 x /kernel: ad1: READ command timeout tag=0 serv=1 - resetting 13:27:10 x /kernel: ad1: invalidating queued requests 13:27:10 x /kernel: ata0: resetting devices .. ad1: invalidating queued requests 13:27:10 x /kernel: done 13:27:10 x /kernel: ad1: no request for this tag=0?? 13:27:10 x /kernel: ad1: invalidating queued requests 13:27:20 x /kernel: ad1: READ command timeout tag=0 serv=1 - resetting 13:27:20 x /kernel: ad1: invalidating queued requests 13:27:20 x /kernel: ata0: resetting devices .. ad1: invalidating queued requests 13:27:20 x /kernel: done 13:27:20 x /kernel: ad1: no request for this tag=0?? 13:27:20 x /kernel: ad1: invalidating queued requests 13:27:30 x /kernel: ad1: READ command timeout tag=0 serv=1 - resetting 13:27:30 x /kernel: ad1: invalidating queued requests 13:27:30 x /kernel: ad1: trying fallback to PIO mode 13:27:30 x /kernel: ata0: resetting devices .. ad1: invalidating queued requests 13:27:30 x /kernel: done Four times system continued in reduced mode for ad1 (third line from bottom) and in fifth run kernel wrote some more messages with another tags and stopped after writting ad1: read interrupt arrived earlyad1: read error detected (too) late The only possible thing to do were to type characters on concole, but without any action. If you want, I can post full logs. -- Rudolf Cejka (cejkar@dcse.fee.vutbr.cz; http://www.fee.vutbr.cz/~cejkar) Brno University of Technology, Faculty of El. Engineering and Comp. Science Bozetechova 2, 612 66 Brno, Czech Republic To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message