From owner-freebsd-current@FreeBSD.ORG Mon Aug 2 18:02:46 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 9237B16A4DE for ; Mon, 2 Aug 2004 18:02:44 +0000 (GMT) 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 E251843D3F for ; Mon, 2 Aug 2004 18:02:43 +0000 (GMT) (envelope-from sos@DeepCore.dk) Received: from DeepCore.dk ([192.168.0.130]) by spider.deepcore.dk (8.12.11/8.12.10) with ESMTP id i72I2W8l052629; Mon, 2 Aug 2004 20:02:37 +0200 (CEST) (envelope-from sos@DeepCore.dk) Message-ID: <410E81B8.1000206@DeepCore.dk> Date: Mon, 02 Aug 2004 20:02:32 +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: Ville-Pertti Keinonen References: <410E688D.7020709@will.iki.fi> <410E74F7.1070000@will.iki.fi> <20040802132802.3d7kgoow0c80ss0s@www.sweetdreamsracing.biz> <410E7B8B.3080407@will.iki.fi> In-Reply-To: <410E7B8B.3080407@will.iki.fi> 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: Kenneth Culver cc: freebsd-current@freebsd.org Subject: Re: ATA driver races with interrupts 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: Mon, 02 Aug 2004 18:02:46 -0000 Ville-Pertti Keinonen wrote: > Kenneth Culver wrote: > >> I have this exact same motherboard, but I'm using the onboard promise >> controller >> set up with 2 disks as a raid0, and I'm not having any problems with this >> setup. I used the promise controller because from what I've been told, >> the >> promise controllers are very fast in FreeBSD compared to other >> controllers. > > > If the two disks appear as one to FreeBSD, the problem probably isn't > going to show up. > > It may also depend on the controller, since the channel registers might > not satisfy the conditions in ata_generic_interrupt (I didn't bother > digging up my ATA specs while debugging this), but even if it is a > controller oddity, I don't think the ATA driver should be sensitive such > conditions. There is no good solution to this *unless* the HW has bits to determine which channel caused the interrupt. Now all decent controller has this, but I have no idea about the VIA since they are not one of those companies that hands out docs. The only way to safeguard is to "serialize" access to the channels as I've done on a few oh so broken chipsets... -- -Søren