[PATCH] aacraid: add cpu cache flush after kmapping and modifying a page

2007-06-20 Thread Salyzyn, Mark
Updated patch to address overlap with patches introduced by FUJITA
Tomonori [EMAIL PROTECTED]. Tejun, please inspect.

This attached aacraid specific portion of the patch is against current
scsi-misc-2.6.

ObligatoryDisclaimer: Please accept my condolences regarding Outlook's
handling of patch content.

Signed-off-by: Mark Salyzyn [EMAIL PROTECTED]

 drivers/scsi/aacraid/aachba.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Sincerely -- Mark Salyzyn

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Salyzyn, Mark
 Sent: Tuesday, May 29, 2007 12:54 PM
 To: James Bottomley; Tejun Heo
 Cc: linux-scsi@vger.kernel.org
 Subject: Re: [PATCH 4/5] SCSI: add cpu cache flushes after 
 kmapping and modifying a page
 
 
 What ever became of the following patch? I have enclosed the 
 incremental
 aacraid version of this patch to permit closure if the following was
 rejected because of another portion.
 
 This attached aacraid specific portion of the patch is against current
 scsi-misc-2.6.
 
 ObligatoryDisclaimer: Please accept my condolences regarding Outlook's
 handling of patch content.
 
 Signed-off-by: Mark Salyzyn [EMAIL PROTECTED]
 
 Sincerely -- Mark Salyzyn
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Tejun Heo
 Sent: Saturday, June 03, 2006 11:41 PM
 To: Jens Axboe; James Bottomley; Dave Miller; [EMAIL PROTECTED];
 [EMAIL PROTECTED]; [EMAIL PROTECTED];
 [EMAIL PROTECTED]; Guennadi Liakhovetski; [EMAIL PROTECTED];
 lkml; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org;
 [EMAIL PROTECTED]
 Cc: Tejun Heo
 Subject: [PATCH 4/5] SCSI: add cpu cache flushes after kmapping and
 modifying a page
 
 
 Add calls to flush_kernel_dcache_page() after CPU has kmapped and
 modified a page.  This fixes PIO cache coherency bugs on architectures
 with aliased caches.
 
 Signed-off-by: Tejun Heo [EMAIL PROTECTED]
 
 ---
 
  drivers/scsi/3w-9xxx.c|1 +
  drivers/scsi/3w-.c|1 +
  drivers/scsi/aacraid/aachba.c |4 +++-
  drivers/scsi/ide-scsi.c   |1 +
  drivers/scsi/ips.c|2 ++
  drivers/scsi/iscsi_tcp.c  |1 +
  drivers/scsi/megaraid.c   |2 ++
  drivers/scsi/qlogicpti.c  |1 +
  drivers/scsi/scsi_debug.c |1 +
  drivers/scsi/scsi_lib.c   |1 +
  10 files changed, 14 insertions(+), 1 deletions(-)
 
 9b4bdd1409efb726d4a6561a4f7e2aff878ab4f4
 diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
 index caeb6d2..172f16b 100644
 --- a/drivers/scsi/3w-9xxx.c
 +++ b/drivers/scsi/3w-9xxx.c
 @@ -1948,6 +1948,7 @@ static void twa_scsiop_execute_scsi_comp
   local_irq_save(flags);
   buf = kmap_atomic(sg-page, KM_IRQ0) +
 sg-offset;
   memcpy(buf,
 tw_dev-generic_buffer_virt[request_id], sg-length);
 + flush_kernel_dcache_page(kmap_atomic_to_page(buf
 - sg-offset));
   kunmap_atomic(buf - sg-offset, KM_IRQ0);
   local_irq_restore(flags);
   }
 diff --git a/drivers/scsi/3w-.c b/drivers/scsi/3w-.c
 index e8e41e6..8449551 100644
 --- a/drivers/scsi/3w-.c
 +++ b/drivers/scsi/3w-.c
 @@ -1527,6 +1527,7 @@ static void tw_transfer_internal(TW_Devi
   struct scatterlist *sg;
  
   sg = (struct scatterlist *)cmd-request_buffer;
 + flush_kernel_dcache_page(kmap_atomic_to_page(buf -
 sg-offset));
   kunmap_atomic(buf - sg-offset, KM_IRQ0);
   local_irq_restore(flags);
   }
 diff --git a/drivers/scsi/aacraid/aachba.c
 b/drivers/scsi/aacraid/aachba.c
 index 642a3b4..b7c00b8 100644
 --- a/drivers/scsi/aacraid/aachba.c
 +++ b/drivers/scsi/aacraid/aachba.c
 @@ -376,8 +376,10 @@ static void aac_internal_transfer(struct
  
   memcpy(buf + offset, data, transfer_len - offset);
  
 - if (scsicmd-use_sg) 
 + if (scsicmd-use_sg) {
 + flush_kernel_dcache_page(kmap_atomic_to_page(buf -
 sg-offset));
   kunmap_atomic(buf - sg-offset, KM_IRQ0);
 + }
  
  }
  
 diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
 index 39b760a..9c28b95 100644
 --- a/drivers/scsi/ide-scsi.c
 +++ b/drivers/scsi/ide-scsi.c
 @@ -189,6 +189,7 @@ static void idescsi_input_buffers (ide_d
   pc-sg-offset;
   drive-hwif-atapi_input_bytes(drive,
   buf + pc-b_count,
 count);
 + flush_kernel_dcache_page(kmap_atomic_to_page(buf
 - pc-sg-offset));
   kunmap_atomic(buf - pc-sg-offset, KM_IRQ0);
   local_irq_restore(flags);
   } else {
 diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
 index a4c0b04..29eb3f0 100644
 --- a/drivers/scsi/ips.c
 +++ b/drivers/scsi/ips.c
 @@ -3682,6 +3682,8 @@ ips_scmd_buf_write(Scsi_Cmnd * scmd, voi
   

Re: [PATCH] aacraid: add cpu cache flush after kmapping and modifying a page

2007-06-20 Thread Tejun Heo
Salyzyn, Mark wrote:
 Updated patch to address overlap with patches introduced by FUJITA
 Tomonori [EMAIL PROTECTED]. Tejun, please inspect.

I'm sorry but this patch is really out of my hand.  James?

-- 
tejun
-
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