public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RE: [PATCH] aic79xx should be able to ignore HostRAID enabled adapters
@ 2005-12-01 13:44 Salyzyn, Mark
  2005-12-01 14:12 ` Arjan van de Ven
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Salyzyn, Mark @ 2005-12-01 13:44 UTC (permalink / raw)
  To: Christoph Hellwig, Darrick J. Wong
  Cc: Chris McDermott, Luvella McFadden, AJ Johnson, Kevin Stansell,
	linux-kernel, linux-scsi, Mauelshagen

Christoph Hellwig sez:
> NACK.  We're not going to support attaching broken propritary drivers.

Understood and expected.

The word 'broken' is hardly chosen for scientific reasons, bespeaks an
agenda ;-> Just because you can not see the code, does not mean it is
broken.

I have on numerous attempts tried to contact Heinz Mauelshagen to
fortify dmraid in support of the HostRAID adapters. He has yet to
respond to my emails to start a dialogue with Adaptec.

Justin Gibbs had provided the community the emd driver, soundly rejected
and never ported to dm because there were features that Justin held dear
in md that do not translate to dm. An unfortunate waste of considerable
resources.

Without the timely agenda and cooled temperaments to close the gap, the
solution should be temporarily to support the proprietary HostRAID
driver when the Adapter is in HostRAID mode and we continue to work to
close that gap on dmraid.

Could you agree with that to help the users today?

[ You are on record as not giving a fig for the users, what if I showed
them as starving children in a third world nation, would that melt your
heart? ;-} ]

> Sepcially as these "HostRAID" cards are plain SCSI HBAs.

They are plain SCSI HBAs, but are designated as a RAID card rather than
a Host Bus Adapter in the PCI config space when in 'HostRAID' mode. The
fact that is designated in the PCI space should be enough reason *not*
to attach a simplified LLD.

The HostRAID driver has a specialized (ok, yes, also proprietary) CHIM
and sequencer where attention can be focused on techniques of
performance improvement and OS agnostics. In addition, the RAID code in
that driver understands the hardware, CHIM & sequencer and takes
advantage of features that just can not be performed by an abstracted dm
or an LLD. RAID1 is handled under some conditions, for instance, with
one DMA operation over the PCI bus rather than two duplicated for each
target, greatly increasing the performance.

Linux is not about performance first, it is about doing it the Linux
way. I believe we can understand that. And in turn, do not consider it
harmful if a group of individuals trying to make a living see a chance
to acquire a competitive edge.

Sincerely -- Mark Salyzyn

^ permalink raw reply	[flat|nested] 21+ messages in thread
[parent not found: <5ePEj-2gB-9@gated-at.bofh.it>]
* RE: [PATCH] aic79xx should be able to ignore HostRAID enabled adapters
@ 2005-12-01 18:46 Salyzyn, Mark
  2005-12-01 19:19 ` Jeff Garzik
  0 siblings, 1 reply; 21+ messages in thread
From: Salyzyn, Mark @ 2005-12-01 18:46 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Christoph Hellwig, Darrick J. Wong, Chris McDermott,
	Luvella McFadden, AJ Johnson, Kevin Stansell, linux-kernel,
	linux-scsi, Mauelshagen

Jeff Garzik [mailto:jgarzik@pobox.com] sez:
> All throughout development, before Justin had written a 
> single line of code, he was told to do things via Device Mapper.

He did not strictly write the emd code, it was written years earlier by
a team. It's release was the result of it being placed on his lap
submit.

As I said, it all ended up being an unfortunate timing of events with
unexpected side effects. At each instant of time it has always been
clear what to do ...

2005? We tried to set up a case for ROI for the support of a dmraid
plugin. I am merely a JAFO to that process trying to push it along.

Sincerely -- Mark Salyzyn



^ permalink raw reply	[flat|nested] 21+ messages in thread
* [PATCH] aic79xx should be able to ignore HostRAID enabled adapters
@ 2005-12-01  5:57 Darrick J. Wong
  2005-12-01  6:41 ` Jeff Garzik
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Darrick J. Wong @ 2005-12-01  5:57 UTC (permalink / raw)
  To: Chris McDermott, Luvella McFadden, AJ Johnson, Kevin Stansell,
	linux-kernel, linux-scsi

Hi there,

I have an IBM x346 with some Adaptec 7902 SCSI controllers; one has HostRAID
enabled in a RAID array, and the other does not.  Upon bootup, the aic79xx
driver will grab both controllers even though I'd prefer that Adaptec's a320raid
driver grab the HostRAID controller.  (When attached to the RAID array, the
aic79xx driver presents each drive in the array as a separate SCSI device.)  If
HostRAID is turned on, the PCI class code is 0x0104 (RAID) and if it's turned
off, the class code is 0x0100 (SCSI).

Unfortunately, there currently is no provision in the aic79xx driver to ignore
RAID controllers--if the PCI device/vendor IDs match, the driver takes the
controller.  The attached patch modifies the PCI probe function to ignore RAID
controllers and a module parameter "attach_HostRAID" to toggle this behavior.
If one passes "attach_HostRAID=1" to insmod, the driver will take RAID
controllers; "attach_HostRAID=0", it won't.  The default is to set it to zero.

The patch should apply cleanly against 2.6.14 and I've verified that it works
correctly on a x346 and a x226, both of which have a 7902b.  I'd appreciate a
few more eyes to look over it, and if there aren't any objections I'd like to
submit this for inclusion in mainline.

--Darrick

--------------------------
Signed-Off-By: Darrick Wong <djwong@us.ibm.com>

diff -Naurp orig/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
linux-2.6.14.3/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- orig/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2005-11-24 14:10:21.000000000 -0800
+++ linux-2.6.14.3/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2005-11-29
16:54:30.000000000 -0800
@@ -43,6 +43,12 @@
 #include "aic79xx_inline.h"
 #include "aic79xx_pci.h"

+static int attach_HostRAID = 0;
+module_param_named(attach_HostRAID, attach_HostRAID, int, S_IRUGO|S_IWUSR);
+MODULE_PARM_DESC(attach_HostRAID, "\n"
+        "\tEnable(1) or disable(0) attaching to HostRAID enabled host "
+        "adapters.\n\tDefault: 0");
+
 static int	ahd_linux_pci_dev_probe(struct pci_dev *pdev,
 					const struct pci_device_id *ent);
 static int	ahd_linux_pci_reserve_io_regions(struct ahd_softc *ahd,
@@ -132,6 +138,14 @@ ahd_linux_pci_dev_probe(struct pci_dev *
 	char		*name;
 	int		 error;

+	/* Ignore hostraid controllers unless the override is on. */
+ 	if (pdev->class == (PCI_CLASS_STORAGE_RAID << 8) && !attach_HostRAID) {
+		printk(KERN_INFO "aic79xx: will not attach to HostRAID enabled"
+			" device %s unless attach_HostRAID parameter is set\n",
+			pci_name(pdev));
+		return -ENODEV;
+	}
+
 	pci = pdev;
 	entry = ahd_find_pci_device(pci);
 	if (entry == NULL)

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2005-12-06 15:48 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-01 13:44 [PATCH] aic79xx should be able to ignore HostRAID enabled adapters Salyzyn, Mark
2005-12-01 14:12 ` Arjan van de Ven
2005-12-01 14:47 ` Heinz Mauelshagen
2005-12-03 11:22   ` Matthias Andree
2005-12-03 16:19     ` Jeff Garzik
2005-12-03 16:39       ` Matthias Andree
2005-12-01 17:44 ` Christoph Hellwig
2005-12-01 17:56   ` Jeff Garzik
2005-12-01 17:49 ` Jeff Garzik
2005-12-02 19:06 ` Alan Cox
     [not found] <5ePEj-2gB-9@gated-at.bofh.it>
     [not found] ` <5eQqA-3pv-7@gated-at.bofh.it>
     [not found]   ` <5eRZp-5KA-7@gated-at.bofh.it>
2005-12-02  0:38     ` Robert Hancock
  -- strict thread matches above, loose matches on Subject: below --
2005-12-01 18:46 Salyzyn, Mark
2005-12-01 19:19 ` Jeff Garzik
2005-12-05 21:06   ` Darrick J. Wong
2005-12-05 21:25     ` Jeff Garzik
2005-12-06  9:14     ` Heinz Mauelshagen
2005-12-01  5:57 Darrick J. Wong
2005-12-01  6:41 ` Jeff Garzik
2005-12-01  8:22   ` Darrick J. Wong
2005-12-01  8:08 ` Arjan van de Ven
2005-12-01 11:26 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox