From owner-freebsd-current@FreeBSD.ORG Wed May 12 08:17:10 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6533A16A4CE for ; Wed, 12 May 2004 08:17:10 -0700 (PDT) Received: from spider.deepcore.dk (cpe.atm2-0-53484.0x50a6c9a6.abnxx9.customer.tele.dk [80.166.201.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A59A43D41 for ; Wed, 12 May 2004 08:17:09 -0700 (PDT) (envelope-from sos@DeepCore.dk) Received: from DeepCore.dk (sos.deepcore.dk [194.192.25.130]) by spider.deepcore.dk (8.12.11/8.12.10) with ESMTP id i4CFH2re035363; Wed, 12 May 2004 17:17:07 +0200 (CEST) (envelope-from sos@DeepCore.dk) Message-ID: <40A23FEE.3020109@DeepCore.dk> Date: Wed, 12 May 2004 17:17:02 +0200 From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= User-Agent: Mozilla Thunderbird 0.5 (X11/20040329) X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Bjoern A. Zeeb" References: <20040512145212.62e7db1e@it.buh.cameradicommercio.ro> <40A2387E.1050208@DeepCore.dk> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-mail-scanned: by DeepCore Virus & Spam killer v1.4 cc: freebsd-current@freebsd.org Subject: Re: ad0: WARNING - WRITE_DMA interrupt was seen but timeout fired LBA=21267353 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 May 2004 15:17:10 -0000 Bjoern A. Zeeb wrote: >>>>The WRITE operation was signalled done by the disk by issueing an >>>>interrupt and the finished request was put on a taskqueue to have it >>>>return status to the system. However the timeout code fired because the >>>>taskqueue hadn't been executed yet (it will wait one ome timeout period >>>>before the result is forced through).. >>>> >>>>So there is no harm done, but the taskqueue was slow to respond... >>> >>> >>>as postend to freebsd-amd64 I am getting far too many of those and >>>they won't stop. >>> >>> From time to time there is also >>>ad10: WARNING - WRITE_DMA interrupt was seen but taskqueue stalled LBA=... >>>between all the ${subject} lines. >> >>Hmm, something is keeping the taskqueue busy, and its not ATA... > > but the thing starts with ${subject} and only after some dozen logs > (multi monitor pages) I get one or two taskqueue stalled; afterwards > ${subject} keeps scrolling again and everything starts from the > beginning. It always start like that, the stalled warning is the final operation after 3 timeouts. > Further more I can only reproduce it with heavy IO HDD traffic; it > doesn't happen for network trafic, it doesn't happen when only working > on a 512MB md0 memory disk I think. It happens once I copy sources to > HDD, have src or obj on HDD and compiling world. > > The strange thing that made makes me thinking is that I also get it > when using atacontrol and set the channel to PIO0 BIOSPIO; The transfer mode has no meaning here, the ATA HW and driver has done its bits when this fails, but it cannot get results returned back to the system via the taskqueue subsystem. When the "stalled" warning shows up ATA forces the result back circumventing the taskqueues. > is there any way how I could get to know what's keeping the taskqueue > busy ? if scrolling starts no user interaction is possible anymore. Instrumenting the queue code ? -- -Søren