Re: [PATCH] add use_sg_chaining option to scsi_host_template

2007-08-20 Thread Jens Axboe
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

2007-08-20 Thread Jens Axboe
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

2007-08-20 Thread FUJITA Tomonori
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

2007-08-20 Thread Jens Axboe
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

2007-08-20 Thread FUJITA Tomonori
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

2007-08-18 Thread FUJITA Tomonori
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

2007-08-16 Thread Salyzyn, Mark
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