essential SCSI fixes for 2.6.5-rc2
Subsystems (2)
PATCH 1/1 essential SCSI fixes for 2.6.5-rc2
These are the two oops related fixes from the scsi-misc-2.6 tree that testing has shaken out. They are available at
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
The shortlog is:
Brian King:
o SCSI: Fix Oops in sg with lots of SG_IO activity
Kai Mäkisara:
o Fix SCSI + st regressions problem
And the diffstat:
sg.c | 4 ++-- st.c | 15 ++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-)
James
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 7 lines · James Bottomley
These are the two oops related fixes from the scsi-misc-2.6 tree that testing has shaken out. They are available at
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
The shortlog is:
[...]
Any chance you could include the fusion consistent mask patch with this?
Without this fusion is completely unusable with >4GB on 64bit.
-Andi
drivers/message/fusion/mptbase.c +5 -0
@@ -1280,12 +1280,17 @@ mptbase_probe(struct pci_dev *pdev, consreturn r; } +#if 0 +/* broken because some code assumes that multiple calls +to pci_alloc_consistent return data in the same 4GB segment. +This cannot work on machines with enough memory. */ if (!pci_set_consistent_dma_mask (pdev, mask)) dprintk((KERN_INFO MYNAM": Using 64 bit consistent mask\n" ));else dprintk((KERN_INFO MYNAM": Not using 64 bit consistent mask\n" )); +#endif ioc =kmalloc (sizeof (MPT_ADAPTER ),GFP_ATOMIC );if (ioc ==NULL ) {
Quoted 3 lines · Andi Kleen
Any chance you could include the fusion consistent mask patch with this?
Without this fusion is completely unusable with >4GB on 64bit.
But if I include this patch, it will break Altix.
Eric, could you make fixing this your top priority? Even if you can't consolidate the allocations, what about using dma_pool instead?
James
Quoted 21 lines
diff -burpN -X ../KDIFX -x '*-SLAB'
linux-vanilla-2.6.5rc2/drivers/message/fusion/mptbase.clinux-2.6.5rc2-amd64/drivers/message/fusion/mptbase.cdrivers/message/fusion/mptbase.c +5
-0@@ -1280,12 +1280,17 @@ mptbase_probe(struct pci_dev *pdev, consreturn r; } +#if 0 +/* broken because some code assumes that multiple calls +to pci_alloc_consistent return data in the same 4GB segment. +This cannot work on machines with enough memory. */ if (!pci_set_consistent_dma_mask (pdev, mask)) dprintk((KERN_INFO MYNAM": Using 64 bit consistent mask\n" ));else dprintk((KERN_INFO MYNAM": Not using 64 bit consistent mask\n" )); +#endif ioc =kmalloc (sizeof (MPT_ADAPTER ),GFP_ATOMIC );if (ioc ==NULL ) {
I will be consolidating the three allocations. I have started this work last Friday,
and should be done early next week.
Eric Moore
Quoted 13 lines · James Bottomley
Quoted 3 lines · Andi Kleen
Any chance you could include the fusion consistent mask patch with this?
Without this fusion is completely unusable with >4GB on 64bit.
But if I include this patch, it will break Altix.
Eric, could you make fixing this your top priority? Even if you can't consolidate the allocations, what about using
dma_poolinstead?James
Quoted 1 line
diff -burpN -X ../KDIFX -x '*-SLAB'
linux-vanilla-2.6.5rc2/drivers/message/fusion/mptbase.c linux-2.6.5rc2-amd64/drivers/message/fusion/mptbase.c
Quoted 1 line
Quoted 1 line
---
linux-vanilla-2.6.5rc2/drivers/message/fusion/mptbase.c2004-03-20
03:55:31.000000000 +0100
Quoted 1 line
Quoted 1 line
+++
linux-2.6.5rc2-amd64/drivers/message/fusion/mptbase.c2004-03-20
04:11:24.000000000 +0100
Quoted 20 lines
Quoted 18 lines
drivers/message/fusion/mptbase.c +5
-0@@ -1280,12 +1280,17 @@ mptbase_probe(struct pci_dev *pdev, consreturn r; } +#if 0 +/* broken because some code assumes that multiple calls +to pci_alloc_consistent return data in the same 4GB segment. +This cannot work on machines with enough memory. */ if (!pci_set_consistent_dma_mask (pdev, mask)) dprintk((KERN_INFO MYNAM": Using 64 bit consistent mask\n" ));else dprintk((KERN_INFO MYNAM": Not using 64 bit consistent mask\n" )); +#endif ioc =kmalloc (sizeof (MPT_ADAPTER ),GFP_ATOMIC );if (ioc ==NULL ) {
Quoted 3 lines · Eric Dean
I will be consolidating the three allocations. I have started this work last Friday,
and should be done early next week.
You could just use a dma pool. It was exactly done for situations like this.
-Andi