Skip to contentSkip to conversation

mvsas : redesign the mvsas driver architecture.

PATCH In review Ke Wei 3 participants 4 messages Feb 24, 2009 – Mar 12, 2009 2 messages not in the archive SCSI

lore
Share & tools
lore

Ke Wei

author
#0 lore raw

PATCH 1/5 mvsas : redesign the mvsas driver architecture.

We redesign the mvsas driver architecture. Then the driver can support Marvell's 64 bit PCIE-X SAS/SATA 3Gb/s mv64xx chip and 6Gb/s mv94xx chip based host adapters. I created a directory for the driver in scsi folder and delete the original simple driver.

modify Kconfig entry for the mvsas driver, and change the driver path.

---
 drivers/scsi/Kconfig  |   10 +-
 drivers/scsi/Makefile |    2 +-
 drivers/scsi/mvsas.c  | 3222 -------------------------------------------------
 3 files changed, 2 insertions(+), 3232 deletions(-)
drivers/scsi/Kconfig +1 -9
index 256c7be..b64882b 100644
@@ -1029,15 +1029,7 @@ config SCSI_IZIP_SLOW_CTR
 
 	  Generally, saying N is fine.
 
-config SCSI_MVSAS
-	tristate "Marvell 88SE6440 SAS/SATA support"
-	depends on PCI && SCSI
-	select SCSI_SAS_LIBSAS
-	help
-	  This driver supports Marvell SAS/SATA PCI devices.
-
-	  To compiler this driver as a module, choose M here: the module
-	  will be called mvsas.
+source "drivers/scsi/mvsas/Kconfig"
 
 config SCSI_NCR53C406A
 	tristate "NCR53c406a SCSI support"
drivers/scsi/Makefile +1 -1
index 7461eb0..f5bbd99 100644
@@ -123,7 +123,7 @@ obj-$(CONFIG_SCSI_IBMVSCSIS)	+= ibmvscsi/
 obj-$(CONFIG_SCSI_IBMVFC)	+= ibmvscsi/
 obj-$(CONFIG_SCSI_HPTIOP)	+= hptiop.o
 obj-$(CONFIG_SCSI_STEX)		+= stex.o
-obj-$(CONFIG_SCSI_MVSAS)	+= mvsas.o
+obj-$(CONFIG_SCSI_MVSAS)	+= mvsas/
 obj-$(CONFIG_PS3_ROM)		+= ps3rom.o
 obj-$(CONFIG_SCSI_CXGB3_ISCSI)	+= libiscsi.o libiscsi_tcp.o cxgb3i/
 
drivers/scsi/mvsas.c deleted +0 -3222

2,976 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Signature · 1 line
1.5.4.3

Part of the diff is not shown here. View the raw message.

maintainer
#1 lore raw
Quoted 45 lines · Ke Wei

We redesign the mvsas driver architecture. Then the driver can support Marvell's
64 bit PCIE-X SAS/SATA 3Gb/s mv64xx chip and 6Gb/s mv94xx chip based host
adapters. I created a directory for the driver in scsi folder and delete the
original simple driver.

modify Kconfig entry for the mvsas driver, and change the driver path.

---
 drivers/scsi/Kconfig  |   10 +-
 drivers/scsi/Makefile |    2 +-
 drivers/scsi/mvsas.c  | 3222
-------------------------------------------------
 3 files changed, 2 insertions(+), 3232 deletions(-)
drivers/scsi/Kconfig +0 -8
index 256c7be..b64882b 100644
@@ -1029,15 +1029,7 @@ config SCSI_IZIP_SLOW_CTR
 
          Generally, saying N is fine.
 
-config SCSI_MVSAS
-       tristate "Marvell 88SE6440 SAS/SATA support"
-       depends on PCI && SCSI
-       select SCSI_SAS_LIBSAS
-       help
-         This driver supports Marvell SAS/SATA PCI devices.
-
-         To compiler this driver as a module, choose M here: the

module

drivers/scsi/Kconfig +1 -1
-         will be called mvsas.
+source "drivers/scsi/mvsas/Kconfig"
 
 config SCSI_NCR53C406A
        tristate "NCR53c406a SCSI support"
drivers/scsi/Makefile +0 -0
index 7461eb0..f5bbd99 100644

drivers/scsi/Makefile obj-$(CONFIG_SCSI_IBMVSCSIS) += ibmvscsi/ · line 128

Quoted 7 lines
drivers/scsi/Makefile +1 -1
@@ -123,7 +123,7 @@ obj-$(CONFIG_SCSI_IBMVSCSIS)        += ibmvscsi/
 obj-$(CONFIG_SCSI_IBMVFC)      += ibmvscsi/
 obj-$(CONFIG_SCSI_HPTIOP)      += hptiop.o
 obj-$(CONFIG_SCSI_STEX)                += stex.o
-obj-$(CONFIG_SCSI_MVSAS)       += mvsas.o
+obj-$(CONFIG_SCSI_MVSAS)       += mvsas/
 obj-$(CONFIG_PS3_ROM)          += ps3rom.o
 obj-$(CONFIG_SCSI_CXGB3_ISCSI) += libiscsi.o libiscsi_tcp.o cxgb3i/

Um, this isn't at all the way to split things up because it isn't bisectable. This patch removes the driver entirely But adds a non-existent build directory, so we're left with one bisection point where the driver is gone. Your second patch adds back a Kconfig and Makefile to the directory only, so we're left with a second point where the build would break because you've added a Makefile but no actual source files.

What I'd like to see in future is one patch transforming the driver to the new layout (preferably with no functional changes) and then a series on top of that adding the new functionality.

I can apply this by combining all five patches into a single one, restoring bisectability, but if that's the only option and you can't do a transformation followed by additions, could we at least see a list of all the new stuff you've added?

Thanks,

James

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

maintainer
#4 lore raw
Quoted 6 lines · Michael Wang

Hi James,

Could you please share your time to care about below issue? Thanks.

give us some update for the Task Collector Modesupport of Linux kernel’s LibSAS?

I don't really have any to give. Task collector mode was something Luben implemented but never really made use of, so what's in the kernel has never really been tested (or, indeed, implemented).

Personally, it's never been clear to me what the advantage of a task collector mode over what the kernel currently does inside the block layer actually is.

If you have any thoughts or requirements on this, posting them to the list would be helpful since I don't think anyone else has really thought about this, either.

A summary of the differences between the new and old mvsas driver would be really helpful to me as well, please.

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

#5 lore raw

Hi James,
Thanks for your response.

And for mvsas, we're still in development, and try to find a better way to commit to kernel based on your previously suggestions. FYI

Michael Wang

-----Original Message-----
From: James Bottomley [mailto:[email protected]]
Sent: 2009年3月12日 4:55
To: Michael Wang
Cc: [email protected]; [email protected]; [email protected]; Andy Yan
Subject: RE: [Linux kernel LibSAS - Task Collector Mode]RE: [PATCH 1/5]mvsas : redesign the mvsas driver architecture.

Quoted 6 lines · Michael Wang

Hi James,

Could you please share your time to care about below issue? Thanks.

give us some update for the Task Collector Modesupport of Linux kernel’s LibSAS?

I don't really have any to give. Task collector mode was something Luben implemented but never really made use of, so what's in the kernel has never really been tested (or, indeed, implemented).

Personally, it's never been clear to me what the advantage of a task collector mode over what the kernel currently does inside the block layer actually is.

If you have any thoughts or requirements on this, posting them to the list would be helpful since I don't think anyone else has really thought about this, either.

A summary of the differences between the new and old mvsas driver would be really helpful to me as well, please.

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