Could people with ahc(4) SCSI controllers give the following diff a try and report whether this causes any difference in behaviour? This diff seems to do wonders on alpha, but I'd like reports from other platforms (such as i386, amd64 and macppc) before considering putting it in.
Thanks, Miod Index: aic7xxx_openbsd.h =================================================================== RCS file: /cvs/src/sys/dev/ic/aic7xxx_openbsd.h,v retrieving revision 1.21 diff -u -p -r1.21 aic7xxx_openbsd.h --- aic7xxx_openbsd.h 17 Jul 2011 22:46:48 -0000 1.21 +++ aic7xxx_openbsd.h 8 Feb 2012 21:48:48 -0000 @@ -193,8 +193,8 @@ static __inline void ahc_flush_device_wr static __inline void ahc_flush_device_writes(struct ahc_softc *ahc) { - /* XXX Is this sufficient for all architectures??? */ - ahc_inb(ahc, INTSTAT); + bus_space_barrier(ahc->tag, ahc->bsh, 0, 0x100, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); } /**************************** Locking Primitives ******************************/