lkml.org 
[lkml]   [1997]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Race conditions galore (2.0.33 and possibly 2.1.x)

On Wed, 24 Dec 1997, Stephen R. van den Berg wrote:

> Gerard Roudier wrote:
> >I read that you are using a 53C875 scsi controller.
> >Misused or mishandled 'PCI write and invalidate' commands may
> >cause cache coherency problems. If the 53C875 is using this
> >feature, I would suggest to disable it.
>
> Well, it is very unlikely that the problem is a direct result
> of failed SCSI-bus-mastering. The problem seems to occur *before*
> the disk activity takes place.

The PCI bus mastering activity and the CPU activity occur concurrently.
The patch that fixes your problem makes differences when an interrupt
from the SCSI controller that will unlock the buffer occurs during the
queuing of disk requests.
As stated by Linus and Bill, and probably checked by lots of other people,
your change should not make differences on the wait_on_buffer() final
behaviour.
Given the strangeness of the problem you reported, checking the effect
of not using 'write and invalidate' should help, IMO.
Trying another CPU, for example a PENTIUM, should help too.

> ncr53c875-0: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = (hex) 05/8e/a0/01/08/24

DCNTL bit 7 and CTEST3 bit 1 indicates that 'write and invalidate' has
been enabled by the driver.
There is no driver option for disabling this feature when the PCI config
space settings donnot prevent this feature from being used. So you will
have to apply manually the following change to ncr53c8xx.h for this
feature to be disabled:

#define FE_RAM (1<<14)
#define FE_CLK80 (1<<15)
- #define FE_CACHE_SET (FE_ERL|FE_CLSE|FE_WRIE|FE_ERMP)
+ #define FE_CACHE_SET (FE_ERL|FE_CLSE|FE_ERMP)
#define FE_SCSI_SET (FE_WIDE|FE_ULTRA|FE_ULTRA2|FE_DBLR|FE_QUAD|F_CLK80)
#define FE_SPECIAL_SET (FE_CACHE_SET|FE_BOF|FE_DFS|FE_LDSTR|FE_PFEN|FE_RAM)
[ ... ]

> But, just in case it would help, below is the info you asked for:

Thanks.

[ ... ]

> ncr53c875-0: command processing resumed
> ncr53c875-0-<0,0>: using tagged command queueing, up to 8 cmds/lun
> Vendor: IBM Model: DCAS-34330W Rev: S65A
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
> ncr53c875-0-<1,0>: using tagged command queueing, up to 8 cmds/lun
> Vendor: IBM Model: DCAS-34330W Rev: S65A
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
> ncr53c875-0-<2,0>: using tagged command queueing, up to 8 cmds/lun
> Vendor: IBM Model: DCAS-34330W Rev: S65A
> Type: Direct-Access ANSI SCSI revision: 02

3 DCAS UW using raid-0 is a nice configuration I would enjoy to play with.
But Father Christmas did not think so. :)

> eth0: DC21041 at 0xe000 (PCI bus 0, device 11), h/w address 00:80:48:e8:67:ee,
> and requires IRQ10 (provided by PCI BIOS).

This board is also master capable.

[ ... ]

> --
> Sincerely, srb@cuci.nl
> Stephen R. van den Berg (AKA BuGless).
>
> "My name is Smith, the P is not pronounced."

What about the F ? ;)


Regards, Gerard.


\
 
 \ /
  Last update: 2005-03-22 13:40    [from the cache]
©2003-2011 Jasper Spaans