Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread David Miller
From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Mon, 19 Nov 2007 16:35:23 +1100 I'm not sure what is the best way to fix that. Internally, I've done some test whacking some cacheline_aligned in the scsi_cmnd data structure to verify I no longer get random SLAB corruption when using my

Re: [dm-devel] [PATCH 0/3] Workqueue framework and ALUA hardware handler

2007-11-19 Thread S. J. van Harmelen
Hi Hannes, Can you tell me when these patches get in the kernel? Is that going to be 2.6.24.x or can we expect them before that? Sander On Thu, 2007-11-15 at 10:13 +0100, Hannes Reinecke wrote: Hi all, this patchset adds some more abstraction to the multipath hardware handlers. - A

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Matthew Wilcox
On Mon, Nov 19, 2007 at 04:35:23PM +1100, Benjamin Herrenschmidt wrote: The other one I'm hitting now is that the SCSI layer nowadays embeds the 'nowadays'? It has always been so. sense_buffer inside the scsi_cmnd structure without any kind of alignment whatsoever. I've been hitting

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread James Bottomley
On Mon, 2007-11-19 at 05:32 -0700, Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 04:35:23PM +1100, Benjamin Herrenschmidt wrote: The other one I'm hitting now is that the SCSI layer nowadays embeds the 'nowadays'? It has always been so. sense_buffer inside the scsi_cmnd structure

SCSI dynamic power management

2007-11-19 Thread Alan Stern
Oliver (or anybody else): Adding dynamic (AKA runtime) power management to the SCSI core is looking a little difficult. (Actually, since as far as I know the SCSI specification takes no heed of power management, perhaps this should be called idle-device management.) Imagine a SCSI disk has been

Re: SCSI dynamic power management

2007-11-19 Thread Matthew Wilcox
On Mon, Nov 19, 2007 at 10:36:19AM -0500, Alan Stern wrote: These are conflicting requirements. How can we send the START-STOP UNIT commands to spin the disk up/down through the request queue while delaying or failing all others? You can insert commands at the head of a request queue.

Re: SCSI dynamic power management

2007-11-19 Thread Alan Stern
On Mon, 19 Nov 2007, Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 10:36:19AM -0500, Alan Stern wrote: These are conflicting requirements. How can we send the START-STOP UNIT commands to spin the disk up/down through the request queue while delaying or failing all others? You can

Re: SCSI dynamic power management

2007-11-19 Thread Alan Stern
On Mon, 19 Nov 2007, James Smart wrote: Also, don't forget that you need to sequence spin-up. A jbod tower with multiple drives all spinning up concurrently can overload the power supply. Most towers avoid this at power-on by having drive jumpers sequence the drives. This is a hard nut to

RE: SCSI dynamic power management

2007-11-19 Thread Salyzyn, Mark
Alan Stern sez: Sure. But that won't do any good if the requests get held on the queue (or failed immediately) because the disk is supposedly suspended. Somehow those requests have to be allowed to proceed while all others are forced to wait (or to fail). Not a failure. Not ready is

Re: Process Scheduling Issue using sg/libata

2007-11-19 Thread James Chapman
Mark Lord wrote: Fajun Chen wrote: As a matter of fact, I'm using /dev/sg*. Due to the size of my test application, I have not be able to compress it into a small and publishable form. However, this issue can be easily reproduced on my ARM XScale target using sg3_util code as follows: 1.

RE: SCSI dynamic power management

2007-11-19 Thread Alan Stern
On Mon, 19 Nov 2007, Salyzyn, Mark wrote: Alan Stern sez: Sure. But that won't do any good if the requests get held on the queue (or failed immediately) because the disk is supposedly suspended. Somehow those requests have to be allowed to proceed while all others are forced to wait

Re: Process Scheduling Issue using sg/libata

2007-11-19 Thread Tejun Heo
James Chapman wrote: Mark Lord wrote: One way to deal with it in an embedded device, is to force the application that's generating the I/O to self-throttle. Or modify the device driver to self-throttle. Does disk access have to be so interrupt driven? Could disk interrupt handling be done

RE: SCSI dynamic power management

2007-11-19 Thread James Bottomley
On Mon, 2007-11-19 at 11:46 -0500, Alan Stern wrote: On Mon, 19 Nov 2007, Salyzyn, Mark wrote: Alan Stern sez: Sure. But that won't do any good if the requests get held on the queue (or failed immediately) because the disk is supposedly suspended. Somehow those requests have to

Re: Process Scheduling Issue using sg/libata

2007-11-19 Thread Alan Cox
SFF ATA controllers are peculiar in that... 1. it doesn't have reliable IRQ pending bit. 2. it doesn't have reliable IRQ mask bit. 3. some controllers tank the machine completely if status or data register is accessed differently than the chip likes. And 4. which is a killer for a lot

[patch 16/26] hptiop: avoid buffer overflow when returning sense data

2007-11-19 Thread Greg Kroah-Hartman
2.6.22-stable review patch. If anyone has any objections, please let us know. -- From: HighPoint Linux Team [EMAIL PROTECTED] patch 0fec02c93f60fb44ba3a24a0d3e4a52521d34d3f in mainline. avoid buffer overflow when returning sense data. With current adapter firmware the driver

Re: [patch 16/26] hptiop: avoid buffer overflow when returning sense data

2007-11-19 Thread Matthew Wilcox
On Mon, Nov 19, 2007 at 10:19:12AM -0800, Greg Kroah-Hartman wrote: 2.6.22-stable review patch. If anyone has any objections, please let us know. Makes sense to backport this. Acked-by: Matthew Wilcox [EMAIL PROTECTED] -- Intel are signing my paycheques ... these opinions are still mine

RE: SCSI dynamic power management

2007-11-19 Thread Alan Stern
On Mon, 19 Nov 2007, James Bottomley wrote: Here's how it will work: scsi_prep_state_check() will see that the device is in a suspended state (probably a substate of SDEV_QUIESCE). The return value will depend on the type of suspend: For manual suspend or system suspend, the

Re: SCSI dynamic power management

2007-11-19 Thread Matthew Wilcox
On Mon, Nov 19, 2007 at 02:16:12PM -0500, Alan Stern wrote: Regarding this thread's original question, the best idea I've come up with so far is to store an extra flag in the scsi_device structure indicating that a suspend or resume transition is underway. When the flag is set, commands with

Re: SCSI dynamic power management

2007-11-19 Thread Alan Stern
On Mon, 19 Nov 2007, Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 02:16:12PM -0500, Alan Stern wrote: Regarding this thread's original question, the best idea I've come up with so far is to store an extra flag in the scsi_device structure indicating that a suspend or resume transition is

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 00:38 -0800, David Miller wrote: From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Mon, 19 Nov 2007 16:35:23 +1100 I'm not sure what is the best way to fix that. Internally, I've done some test whacking some cacheline_aligned in the scsi_cmnd data structure

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 05:32 -0700, Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 04:35:23PM +1100, Benjamin Herrenschmidt wrote: The other one I'm hitting now is that the SCSI layer nowadays embeds the 'nowadays'? It has always been so. Wasn't it kmalloc'ed at one point ? sense_buffer

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 09:09 -0600, James Bottomley wrote: What other drivers do is DMA to their own allocation and then memcpy to the sense buffer. There is a movement to allocate the sense data as its own sg list, but I don't think that patch has even been posted yet. I'd like to

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
I'd like to be rid of it inside the command for various reasons: every command has one of these, and they're expensive in the allocation (at 96 bytes). There's no reason we have to allocate and free that amount of space with every command. In theory, the number of these is bounded at the

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread Andrew Morton
On Mon, 19 Nov 2007 05:44:01 -0800 (PST) [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=9405 Summary: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems Product: IO/Storage Version:

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread James Bottomley
On Mon, 2007-11-19 at 12:50 -0800, Andrew Morton wrote: On Mon, 19 Nov 2007 05:44:01 -0800 (PST) [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=9405 Summary: iSCSI does not implement ordering guarantees required by e.g. journaling

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread Mike Christie
Andrew Morton wrote: On Mon, 19 Nov 2007 05:44:01 -0800 (PST) [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=9405 Summary: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems Product: IO/Storage

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread Matthew Wilcox
On Mon, Nov 19, 2007 at 03:15:22PM -0600, Mike Christie wrote: +iSCSI It's traditional to use all-caps here, even when the normal capitalisation is different. so I think this should be ISCSI. Damned if I know why we have this convention, though. +P: Mike Christie +M: [EMAIL PROTECTED]

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread Mike Christie
James Bottomley wrote: On Mon, 2007-11-19 at 12:50 -0800, Andrew Morton wrote: On Mon, 19 Nov 2007 05:44:01 -0800 (PST) [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=9405 Summary: iSCSI does not implement ordering guarantees required by

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread Mike Christie
Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 03:15:22PM -0600, Mike Christie wrote: +iSCSI It's traditional to use all-caps here, even when the normal capitalisation is different. so I think this should be ISCSI. Damned if I know why we have this convention, though. Thanks. Here is a

Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems

2007-11-19 Thread James Bottomley
On Mon, 2007-11-19 at 15:22 -0600, Mike Christie wrote: James Bottomley wrote: On Mon, 2007-11-19 at 12:50 -0800, Andrew Morton wrote: On Mon, 19 Nov 2007 05:44:01 -0800 (PST) [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=9405 Summary: iSCSI does

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Roland Dreier
I've been debugging various issues on the PowerPC 44x embedded architecture which happens to have non-coherent PCI DMA. One of the problem I'm hitting is that one really need to enforce kmalloc alignement to cache lines or bad things will happen (among others with USB), for some

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 13:43 -0800, Roland Dreier wrote: I've been debugging various issues on the PowerPC 44x embedded architecture which happens to have non-coherent PCI DMA. One of the problem I'm hitting is that one really need to enforce kmalloc alignement to cache lines or bad

[PATCH 1/3] cciss: export more sysfs attributes

2007-11-19 Thread Mike Miller
Patch 1 of 3 This patch creates more sysfs attributes to be exported by cciss. Hopefully we can work better with udev. Please consider this patch for inclusion. Signed-off-by: Mike Miller [EMAIL PROTECTED] diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 7d70496..2ba5a89 100644

[PATCH 2/3] cciss: add support for blktrace

2007-11-19 Thread Mike Miller
Patch 2 of 3 This patch adds support for the blktrace utility. Please consider this for inclusion. Seems there was already a call to blk_add_trace. This patch adds ifdef's and includes the header file. Signed-off-by: Mike Miller [EMAIL PROTECTED] diff --git a/drivers/block/cciss.c

[PATCH 3/3] cciss: change version to 3.6.18

2007-11-19 Thread Mike Miller
Patch 3 of 3 This patch bumps the version of the driver from .14 to .18 to more closely match the driver that HP ships. This driver already supports all the hardware that the HP 3.6.18 version supports. So the versions should match, also. Please consider this for inclusion. Signed-off-by: Mike

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread David Miller
From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Tue, 20 Nov 2007 06:51:14 +1100 On Mon, 2007-11-19 at 00:38 -0800, David Miller wrote: From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Mon, 19 Nov 2007 16:35:23 +1100 You could make a dma_cacheline_aligned and use that. It

Re: [stable] [patch 16/26] hptiop: avoid buffer overflow when returning sense data

2007-11-19 Thread Greg KH
On Mon, Nov 19, 2007 at 11:38:35AM -0700, Matthew Wilcox wrote: On Mon, Nov 19, 2007 at 10:19:12AM -0800, Greg Kroah-Hartman wrote: 2.6.22-stable review patch. If anyone has any objections, please let us know. Makes sense to backport this. Acked-by: Matthew Wilcox [EMAIL PROTECTED]

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 14:31 -0800, David Miller wrote: From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Tue, 20 Nov 2007 06:51:14 +1100 On Mon, 2007-11-19 at 00:38 -0800, David Miller wrote: From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Mon, 19 Nov 2007 16:35:23 +1100

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 16:46 -0800, David Miller wrote: 1) Require that entire buffers are commited by call sites, and thus embedding DMA'd within non-DMA stuff isn't allowed 2) Add the __dma_cacheline_aligned tag. But note that with #2 it could get quite ugly because the alignment

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread David Miller
From: Benjamin Herrenschmidt [EMAIL PROTECTED] Date: Tue, 20 Nov 2007 11:55:01 +1100 BTW. What is the status nowadays with skb's ? Good question. Some drivers are problematic (or were) because they put DMA descriptor chaining information at the head of the buffer, but those have been fixed

[PATCH 42/59] drivers/scsi/lpfc: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/lpfc/lpfc_attr.c |2 +- drivers/scsi/lpfc/lpfc_ct.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 80a1121..d9d6791 100644 ---

[PATCH 41/59] drivers/scsi/aic94xx: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/aic94xx/aic94xx_sds.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/aic94xx/aic94xx_sds.c b/drivers/scsi/aic94xx/aic94xx_sds.c index 06509bf..f45f0b9 100644 ---

[PATCH 40/59] drivers/scsi/aic7xxx: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/aic7xxx/aic79xx_osm.c |2 +- drivers/scsi/aic7xxx/aic79xx_osm_pci.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index

[PATCH 43/59] drivers/scsi/qla4xxx: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/qla4xxx/ql4_init.c |2 +- drivers/scsi/qla4xxx/ql4_os.c |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index d692c71..ab619a8 100644

[PATCH 43/59] drivers/scsi/qla4xxx: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/qla4xxx/ql4_init.c |2 +- drivers/scsi/qla4xxx/ql4_os.c |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index d692c71..ab619a8 100644

[PATCH 44/59] drivers/scsi: Add missing space

2007-11-19 Thread Joe Perches
Signed-off-by: Joe Perches [EMAIL PROTECTED] --- drivers/scsi/NCR_D700.c|2 +- drivers/scsi/aic7xxx_old.c |2 +- drivers/scsi/dc395x.c |2 +- drivers/scsi/hosts.c |2 +- drivers/scsi/iscsi_tcp.c |6 +++--- drivers/scsi/scsi_proc.c |2 +-

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Roland Dreier
2) Add the __dma_cacheline_aligned tag. But note that with #2 it could get quite ugly because the alignment and size both have a minimum that needs to be enforced, not just the alignment alone. So either: struct foo { unsigned int other_unrelated_stuff; struct

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
On Mon, 2007-11-19 at 18:10 -0800, Roland Dreier wrote: I wrapped this ugliness up inside the macro back in what I posted in 2002 (http://lkml.org/lkml/2002/6/12/234): #define __dma_buffer __dma_buffer_line(__LINE__) #define __dma_buffer_line(line) __dma_buffer_expand_line(line) #define

Re: SCSI breakage on non-cache coherent architectures

2007-11-19 Thread Benjamin Herrenschmidt
FYI, Here's what I have for the SCSI change. I haven't updated drivers to care for the new return code though, help appreciated with that as I don't know much about these drivers. Index: linux-work/drivers/scsi/scsi_error.c === ---

Re: [PATCH 2/3] cciss: add support for blktrace

2007-11-19 Thread Andrew Morton
On Mon, 19 Nov 2007 16:07:17 -0600 Mike Miller [EMAIL PROTECTED] wrote: Patch 2 of 3 This patch adds support for the blktrace utility. Please consider this for inclusion. Seems there was already a call to blk_add_trace. This patch adds ifdef's and includes the header file. Signed-off-by:

Re: [PATCH 1/3] cciss: export more sysfs attributes

2007-11-19 Thread Andrew Morton
On Mon, 19 Nov 2007 16:03:07 -0600 Mike Miller [EMAIL PROTECTED] wrote: Patch 1 of 3 This patch creates more sysfs attributes to be exported by cciss. Hopefully we can work better with udev. Please consider this patch for inclusion. It would be appropriate if the changelog were to describe