Re: ATA driver races with interrupts

From: Søren Schmidt <sos_at_DeepCore.dk>
Date: Mon, 02 Aug 2004 20:02:32 +0200
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
Received on Mon Aug 02 2004 - 16:02:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:04 UTC