[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

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