Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Sat, Aug 18 2007, FUJITA Tomonori wrote: On Fri, 17 Aug 2007 01:47:59 +0900 FUJITA Tomonori [EMAIL PROTECTED] wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED] --- arch/ia64/hp/sim/simscsi.c|1 + drivers/scsi/3w-9xxx.c|1 + drivers/scsi/3w-.c|1 + drivers/scsi/BusLogic.c |1 + drivers/scsi/NCR53c406a.c |3 ++- drivers/scsi/a100u2w.c|1 + drivers/scsi/aacraid/linit.c |1 + drivers/scsi/aha1740.c|1 + drivers/scsi/aic7xxx/aic79xx_osm.c|1 + drivers/scsi/aic7xxx/aic7xxx_osm.c|1 + drivers/scsi/aic7xxx_old.c|1 + drivers/scsi/arcmsr/arcmsr_hba.c |1 + drivers/scsi/dc395x.c |1 + drivers/scsi/dpt_i2o.c|1 + drivers/scsi/eata.c |3 ++- drivers/scsi/hosts.c |1 + drivers/scsi/hptiop.c |1 + drivers/scsi/ibmmca.c |1 + drivers/scsi/ibmvscsi/ibmvscsi.c |1 + drivers/scsi/initio.c |1 + drivers/scsi/ipr.c|1 + I should have dropped ipr since we haven't converted libata yet. But we have, are there still bits missing? -- Jens Axboe - 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
Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Fri, Aug 17 2007, FUJITA Tomonori wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. This looks good to me. I'd normally complain about the silly ENABLE_SG_CHAINING defines (just use 0/1), but since this is a short term approach, it's fine with me. -- Jens Axboe - 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
Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Mon, 20 Aug 2007 09:10:31 +0200 Jens Axboe [EMAIL PROTECTED] wrote: On Sat, Aug 18 2007, FUJITA Tomonori wrote: On Fri, 17 Aug 2007 01:47:59 +0900 FUJITA Tomonori [EMAIL PROTECTED] wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED] --- arch/ia64/hp/sim/simscsi.c|1 + drivers/scsi/3w-9xxx.c|1 + drivers/scsi/3w-.c|1 + drivers/scsi/BusLogic.c |1 + drivers/scsi/NCR53c406a.c |3 ++- drivers/scsi/a100u2w.c|1 + drivers/scsi/aacraid/linit.c |1 + drivers/scsi/aha1740.c|1 + drivers/scsi/aic7xxx/aic79xx_osm.c|1 + drivers/scsi/aic7xxx/aic7xxx_osm.c|1 + drivers/scsi/aic7xxx_old.c|1 + drivers/scsi/arcmsr/arcmsr_hba.c |1 + drivers/scsi/dc395x.c |1 + drivers/scsi/dpt_i2o.c|1 + drivers/scsi/eata.c |3 ++- drivers/scsi/hosts.c |1 + drivers/scsi/hptiop.c |1 + drivers/scsi/ibmmca.c |1 + drivers/scsi/ibmvscsi/ibmvscsi.c |1 + drivers/scsi/initio.c |1 + drivers/scsi/ipr.c|1 + I should have dropped ipr since we haven't converted libata yet. But we have, are there still bits missing? I'm just a bit nervous about possible bugs. Probably we need to remove blk_queue_max_phys_segments() in libata for a possible lower sg list size ( 128). BTW, I think that it would be good to test the sglist with a lower sg list size (like 32) to test all the llds. diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index d23a181..01a0197 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -795,8 +795,6 @@ int ata_scsi_slave_config(struct scsi_device *sdev) ata_scsi_sdev_config(sdev); - blk_queue_max_phys_segments(sdev-request_queue, LIBATA_MAX_PRD); - sdev-manage_start_stop = 1; if (dev) - 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
Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Mon, Aug 20 2007, FUJITA Tomonori wrote: On Mon, 20 Aug 2007 09:10:31 +0200 Jens Axboe [EMAIL PROTECTED] wrote: On Sat, Aug 18 2007, FUJITA Tomonori wrote: On Fri, 17 Aug 2007 01:47:59 +0900 FUJITA Tomonori [EMAIL PROTECTED] wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED] --- arch/ia64/hp/sim/simscsi.c|1 + drivers/scsi/3w-9xxx.c|1 + drivers/scsi/3w-.c|1 + drivers/scsi/BusLogic.c |1 + drivers/scsi/NCR53c406a.c |3 ++- drivers/scsi/a100u2w.c|1 + drivers/scsi/aacraid/linit.c |1 + drivers/scsi/aha1740.c|1 + drivers/scsi/aic7xxx/aic79xx_osm.c|1 + drivers/scsi/aic7xxx/aic7xxx_osm.c|1 + drivers/scsi/aic7xxx_old.c|1 + drivers/scsi/arcmsr/arcmsr_hba.c |1 + drivers/scsi/dc395x.c |1 + drivers/scsi/dpt_i2o.c|1 + drivers/scsi/eata.c |3 ++- drivers/scsi/hosts.c |1 + drivers/scsi/hptiop.c |1 + drivers/scsi/ibmmca.c |1 + drivers/scsi/ibmvscsi/ibmvscsi.c |1 + drivers/scsi/initio.c |1 + drivers/scsi/ipr.c|1 + I should have dropped ipr since we haven't converted libata yet. But we have, are there still bits missing? I'm just a bit nervous about possible bugs. I hope there aren't any left in libata :-) Probably we need to remove blk_queue_max_phys_segments() in libata for a possible lower sg list size ( 128). Indeed, that should go, even in mainline now. BTW, I think that it would be good to test the sglist with a lower sg list size (like 32) to test all the llds. That's a good idea, then we'll get the chaining stuff exercised much more easily! -- Jens Axboe - 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
Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Mon, 20 Aug 2007 15:05:22 +0200 Jens Axboe [EMAIL PROTECTED] wrote: On Mon, Aug 20 2007, FUJITA Tomonori wrote: On Mon, 20 Aug 2007 09:10:31 +0200 Jens Axboe [EMAIL PROTECTED] wrote: On Sat, Aug 18 2007, FUJITA Tomonori wrote: On Fri, 17 Aug 2007 01:47:59 +0900 FUJITA Tomonori [EMAIL PROTECTED] wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED] --- arch/ia64/hp/sim/simscsi.c|1 + drivers/scsi/3w-9xxx.c|1 + drivers/scsi/3w-.c|1 + drivers/scsi/BusLogic.c |1 + drivers/scsi/NCR53c406a.c |3 ++- drivers/scsi/a100u2w.c|1 + drivers/scsi/aacraid/linit.c |1 + drivers/scsi/aha1740.c|1 + drivers/scsi/aic7xxx/aic79xx_osm.c|1 + drivers/scsi/aic7xxx/aic7xxx_osm.c|1 + drivers/scsi/aic7xxx_old.c|1 + drivers/scsi/arcmsr/arcmsr_hba.c |1 + drivers/scsi/dc395x.c |1 + drivers/scsi/dpt_i2o.c|1 + drivers/scsi/eata.c |3 ++- drivers/scsi/hosts.c |1 + drivers/scsi/hptiop.c |1 + drivers/scsi/ibmmca.c |1 + drivers/scsi/ibmvscsi/ibmvscsi.c |1 + drivers/scsi/initio.c |1 + drivers/scsi/ipr.c|1 + I should have dropped ipr since we haven't converted libata yet. But we have, are there still bits missing? I'm just a bit nervous about possible bugs. I hope there aren't any left in libata :-) Probably we need to remove blk_queue_max_phys_segments() in libata for a possible lower sg list size ( 128). Indeed, that should go, even in mainline now. BTW, I think that it would be good to test the sglist with a lower sg list size (like 32) to test all the llds. That's a good idea, then we'll get the chaining stuff exercised much more easily! Yeah, if you push sglist with setting SCSI_MAX_SG_SEGMENTS to 32, sglist can get tons of tests. I didn't found the ppc sglist bugs and didn't lose my data until I tried a small sg list size. :) - 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
Re: [PATCH] add use_sg_chaining option to scsi_host_template
On Fri, 17 Aug 2007 01:47:59 +0900 FUJITA Tomonori [EMAIL PROTECTED] wrote: This is for Jens' sglist branch in the block git tree. It enables sg chaining support for the LLDs that use scsi_for_each_sg accessor properly. --- From a6e50a3b476bc193de103e8c1d95877ced38918e Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori [EMAIL PROTECTED] Date: Fri, 17 Aug 2007 01:35:41 +0900 Subject: [PATCH] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q-max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED] --- arch/ia64/hp/sim/simscsi.c|1 + drivers/scsi/3w-9xxx.c|1 + drivers/scsi/3w-.c|1 + drivers/scsi/BusLogic.c |1 + drivers/scsi/NCR53c406a.c |3 ++- drivers/scsi/a100u2w.c|1 + drivers/scsi/aacraid/linit.c |1 + drivers/scsi/aha1740.c|1 + drivers/scsi/aic7xxx/aic79xx_osm.c|1 + drivers/scsi/aic7xxx/aic7xxx_osm.c|1 + drivers/scsi/aic7xxx_old.c|1 + drivers/scsi/arcmsr/arcmsr_hba.c |1 + drivers/scsi/dc395x.c |1 + drivers/scsi/dpt_i2o.c|1 + drivers/scsi/eata.c |3 ++- drivers/scsi/hosts.c |1 + drivers/scsi/hptiop.c |1 + drivers/scsi/ibmmca.c |1 + drivers/scsi/ibmvscsi/ibmvscsi.c |1 + drivers/scsi/initio.c |1 + drivers/scsi/ipr.c|1 + I should have dropped ipr since we haven't converted libata yet. - 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
RE: [PATCH] add use_sg_chaining option to scsi_host_template
ACK aacraid portion (for what it is worth). Sincerely -- Mark Salyzyn -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of FUJITA Tomonori Sent: Thursday, August 16, 2007 12:48 PM To: [EMAIL PROTECTED] Cc: linux-scsi@vger.kernel.org; [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: [PATCH] add use_sg_chaining option to scsi_host_template . . . diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index a7f42a1..038980b 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -944,6 +944,7 @@ static struct scsi_host_template aac_driver_template = { .cmd_per_lun= AAC_NUM_IO_FIB, #endif .use_clustering = ENABLE_CLUSTERING, + .use_sg_chaining= ENABLE_SG_CHAINING, .emulated = 1, }; . . . diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 3b8a6a8..cbb5217 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -36,6 +36,9 @@ struct blk_queue_tags; #define DISABLE_CLUSTERING 0 #define ENABLE_CLUSTERING 1 +#define DISABLE_SG_CHAINING 0 +#define ENABLE_SG_CHAINING 1 + enum scsi_eh_timer_return { EH_NOT_HANDLED, EH_HANDLED, @@ -438,6 +441,15 @@ struct scsi_host_template { unsigned ordered_tag:1; /* + * true if the low-level driver can support sg chaining. this + * will be removed eventually when all the drivers are + * converted to support sg chaining. + * + * Status: OBSOLETE + */ + unsigned use_sg_chaining:1; + + /* * Countdown for host blocking with no commands outstanding */ unsigned int max_host_blocked; @@ -580,6 +592,7 @@ struct Scsi_Host { unsigned unchecked_isa_dma:1; unsigned use_clustering:1; unsigned use_blk_tcq:1; + unsigned use_sg_chaining:1; /* * Host has requested that no further requests come through for the - 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