From: Michael Joosten <michael.joosten@c-lab.de>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Michael Reed <mdr@sgi.com>, pazke@donpac.ru, linux-scsi@vger.kernel.org
Subject: Re: [PATCH]: Re: qla1280.c broken on SGI visws, PCI coherency problem
Date: Thu, 15 Dec 2005 02:17:38 +0100 [thread overview]
Message-ID: <43A0C432.5060109@c-lab.de> (raw)
In-Reply-To: <1134581356.3278.1.camel@mulgrave>
James Bottomley wrote:
>>Well, the PIII board with both a 550 and a 800 MHz proc showed no
>>difference, the driver just *works*, no failure in 20 runs. It looks
>>like the problem only shows up in the VISWS. Perhaps I try it again
>>putting the QLA1080 in the 32bit slot, which is apparently not
>>controlled by the Lithium, but rather a plain PIIX chip. And perhaps
>>some other platform and chipset.
>>
>>
>
>Yes, the PIO posting issue is VISWS only, I think. Could you confirm
>that your original bug report was on a SMP VISWS, and could you try the
>tests over using a UP kernel on the VISWS?
>
>
>
The original tests did run on a UP VISWS (single 800MHz PIII), but with
SMP kernel. I can try and recompile the test kernel for UP, and/or stuff
the old dual PIII 450MHz into the 320.
After some experiments I can say that:
1) no problems on PIV 3GHz, Intel 915G, ICH6, 1GB
2) UP kernel on VISWS single CPU, some "qla1280: ISP invalid handle"
messages even during startup, after some time the fs-bench also gets
stuck with some of these, resetting the adapter doesn't work, and after
a few tries it just gets stuck and oopses.
What confuses me a little now is that I've some corrupted files, at
least one not even on the same hard disk as the place for the fs-bench.
Hmmmm.
3) MP kernel on VISWS, single CPU: either because it has warmed up or
b/c of SMP, now it gets even stuck during the rc scripts...
4) MP kernel on VISWS, dual CPU: once it warmed up, the driver also failed.
Sooo, I'd think this is VISWS issue only, independent of MP or UP.
>Btw, the VisWS Linux port apparently uses non-coherent DMA. Perhaps it
>should be switched to coherent DMA, as there could be bugs in that area
>with qla1280.
Aha, so we are back at coherence, but it's not MP, but DMA one...
(I'm not sure what is meant with DMA coherence - make sure that before a DMA transfer is started at least the related CPU cache lines (in the DMA address range) are written back?)
Have I actually mentioned that I already had started a discussion with Jesse Barnes (SGI) and Jes Sorenson before I posted in linux-scsi? He said on the topic:
>>>>
Jesse> Actually implementing them might be as easy as putting PIO reads from a
Jesse> bridge register into the DMA unmap routines--that should guarantee
Jesse> coherence.
Me>You probably mean pci_unmap_addr/_len() macros in asm-i386/pci.h,
Me>according to i386/kernel/pci-dma.c ??
Me>But there isn't much to be found in asm-i386/mach-visws/lithium.h .
<<<<
Given the situation that the Lithium's chip documentation is lost, its probably back
at introducing a
#ifdef CONFIG_X86_VISWS
#define QLA_POSTED_PCI_FLUSH(mbx) RD_REG_WORD(mbx)
#else
#define QLA_POSTED_PCI_FLUSH(mbx)
endif
and replace the previous
RD_REG_WORD(®->mailbox4)
or add where's now the mmiowb() with
QLA_POSTED_PCI_FLUSH(®->mailbox4)
in qla1280_32/64bit_start_scsi().
Could this chipset deficiency also explain why I had NO luck when trying to use a PCI graphics card for X11 instead of the frame buffer? The server either gets stuck in "write recombining range" (ELSA Gloria Synergy, Permedia) (i.e. the gfx driver module in Xorg/XFree86) or does not recognize the VBIOS and leaves a Matrox G450 largely uninitialized (X server runs, but monitor stays black and unsync'ed).
So long, Michael
next prev parent reply other threads:[~2005-12-15 1:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-09 19:11 qla1280.c broken on SGI visws, PCI coherency problem Michael Joosten
2005-12-09 23:48 ` 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 [this message]
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=43A0C432.5060109@c-lab.de \
--to=michael.joosten@c-lab.de \
--cc=James.Bottomley@SteelEye.com \
--cc=linux-scsi@vger.kernel.org \
--cc=mdr@sgi.com \
--cc=pazke@donpac.ru \
/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.