From: Michael Joosten <michael.joosten@c-lab.de>
To: linux-scsi@vger.kernel.org
Subject: qla1280.c broken on SGI visws, PCI coherency problem
Date: Fri, 09 Dec 2005 20:11:39 +0100 [thread overview]
Message-ID: <4399D6EB.4080603@c-lab.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 1939 bytes --]
Hello,
since last week I'm trying to bring the current version of 2.6.12+ in
working order on that almost abandoned SGI 320 Visual Workstation. This
beastlet also used have a QLA1080 as SCSI controller, which is actually
the only supported one to boot from.
I'm not sure if this is just a SGI320 problem (there seems to be two bus
bridges in use: PCI: Lithium bridge A bus: 1, bridge B (PIIX4) bus: 0)
or now a general problem for all platforms not implementing a mmiowb()
write barrier operation, but since 2.6.11 the qla1280.c driver gets
severly stuck after a few minutes of heavy use:
zapp kernel: qla1280: ISP invalid handle
and then usually the kernel hangs hard or the SCSI subsystem is
inoperable.
Last year Jesse Barnes published a patch introducing I/O space write
barrier instructions especially for IA64 and MIPS multiprocessors. In
that patch some PCI posted write flushs were replaced by mmiowb()
(platform specific write barrier instruction), and at least for
the SGI VisWS, this was one replacement too much.... I'm aware that the
Visws PCI controller (at least the Lithium chip resp. for PCI 64 bus)
reused
parts from the O2 and sufferes the same problem of lacking cache
coherency, but
I wonder now if the qla1280.c is actually stable anymore in kernels
after 2.6.10 (last version with the PCI write flushes in
qla1280_64/32bit_start_scsi() ) and non-x86 platforms.
I've just tried qla1280.[ch] from a more recent version than 2.6.12.4,
namely 2.6.14.3, and have the same problem again (only worse, but there
has been some patches in qla1280.c regarding error recovery recently,
and now the kernel just hangs...), unless I add the one/two RD_REG_WORD()
lines again.
To repeat: Has there been any notion of problems with qla1280.c recently,
last known good version in 2.6.10 is from Xmas last year.
I can run tests also on a Intel dual PII server board with that QLA1080
HBA, but not now.
Regards, Michael
[-- Attachment #2: qla1280.c.diff --]
[-- Type: text/plain, Size: 584 bytes --]
--- ../linux-2.6.14.3/drivers/scsi/qla1280.c- 2005-11-24 23:10:21.000000000 +0100
+++ ../linux-2.6.14.3/drivers/scsi/qla1280.c 2005-12-07 21:27:42.000000000 +0100
@@ -3236,6 +3236,7 @@
WRT_REG_WORD(®->mailbox4, ha->req_ring_index);
/* Enforce mmio write ordering; see comment in qla1280_isp_cmd(). */
mmiowb();
+ RD_REG_WORD(®->mailbox4);
out:
if (status)
@@ -3504,6 +3505,7 @@
WRT_REG_WORD(®->mailbox4, ha->req_ring_index);
/* Enforce mmio write ordering; see comment in qla1280_isp_cmd(). */
mmiowb();
+ RD_REG_WORD(®->mailbox4);
out:
if (status)
next reply other threads:[~2005-12-09 19:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-09 19:11 Michael Joosten [this message]
2005-12-09 23:48 ` qla1280.c broken on SGI visws, PCI coherency problem Michael Reed
2005-12-12 21:00 ` [PATCH]: " Michael Reed
2005-12-12 21:24 ` Christoph Hellwig
2005-12-12 21:31 ` Jesse Barnes
2005-12-12 21:47 ` James Bottomley
2005-12-12 23:00 ` Michael Reed
2005-12-13 13:22 ` Michael Reed
2005-12-13 14:50 ` James Bottomley
2005-12-13 18:15 ` Michael Reed
2005-12-14 5:00 ` Michael Joosten
2005-12-14 17:29 ` James Bottomley
2005-12-15 1:17 ` Michael Joosten
2005-12-15 2:20 ` Jeremy Higdon
2005-12-15 16:21 ` Michael Joosten
2005-12-14 1:39 ` Jeremy Higdon
2005-12-14 3:16 ` Michael Reed
2005-12-14 1:28 ` Jeremy Higdon
2005-12-14 4:59 ` James Bottomley
2005-12-14 23:56 ` Jeremy Higdon
2005-12-15 0:14 ` Michael Reed
2005-12-15 1:13 ` Jeremy Higdon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4399D6EB.4080603@c-lab.de \
--to=michael.joosten@c-lab.de \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.