All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-07 19:06 ` Sinan Kaya
  0 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-07 19:06 UTC (permalink / raw)
  To: linux-scsi, timur
  Cc: linux-arm-msm, linux-arm-kernel, Sinan Kaya, Sathya Prakash,
	Chaitra P B, Suganath Prabu Subramani, James E.J. Bottomley,
	Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS FC/SAS/SPI, open list

Due to relaxed ordering requirements on multiple architectures,
drivers are required to use wmb/rmb/mb combinations when they
need to guarantee observability between the memory and the HW.

The mpt3sas driver is already using wmb() for this purpose.
However, it issues a writel following wmb(). writel() function
on arm/arm64 arhictectures have an embedded wmb() call inside.

This results in unnecessary performance loss and code duplication.

writel already guarantees ordering for both cpu and bus. we don't need
additional wmb()

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 5b7aec5..18039bb 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1025,7 +1025,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 				    0 : ioc->reply_free_host_index + 1;
 				ioc->reply_free[ioc->reply_free_host_index] =
 				    cpu_to_le32(reply);
-				wmb();
 				writel(ioc->reply_free_host_index,
 				    &ioc->chip->ReplyFreeHostIndex);
 			}
@@ -1074,7 +1073,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 		return IRQ_NONE;
 	}
 
-	wmb();
 	if (ioc->is_warpdrive) {
 		writel(reply_q->reply_post_host_index,
 		ioc->reply_post_host_index[msix_index]);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-07 19:06 ` Sinan Kaya
  0 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-07 19:06 UTC (permalink / raw)
  To: linux-scsi, timur
  Cc: linux-arm-msm, linux-arm-kernel, Sinan Kaya, Sathya Prakash,
	Chaitra P B, Suganath Prabu Subramani, James E.J. Bottomley,
	Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

Due to relaxed ordering requirements on multiple architectures,
drivers are required to use wmb/rmb/mb combinations when they
need to guarantee observability between the memory and the HW.

The mpt3sas driver is already using wmb() for this purpose.
However, it issues a writel following wmb(). writel() function
on arm/arm64 arhictectures have an embedded wmb() call inside.

This results in unnecessary performance loss and code duplication.

writel already guarantees ordering for both cpu and bus. we don't need
additional wmb()

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 5b7aec5..18039bb 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1025,7 +1025,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 				    0 : ioc->reply_free_host_index + 1;
 				ioc->reply_free[ioc->reply_free_host_index] =
 				    cpu_to_le32(reply);
-				wmb();
 				writel(ioc->reply_free_host_index,
 				    &ioc->chip->ReplyFreeHostIndex);
 			}
@@ -1074,7 +1073,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 		return IRQ_NONE;
 	}
 
-	wmb();
 	if (ioc->is_warpdrive) {
 		writel(reply_q->reply_post_host_index,
 		ioc->reply_post_host_index[msix_index]);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-07 19:06 ` Sinan Kaya
  0 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-07 19:06 UTC (permalink / raw)
  To: linux-arm-kernel

Due to relaxed ordering requirements on multiple architectures,
drivers are required to use wmb/rmb/mb combinations when they
need to guarantee observability between the memory and the HW.

The mpt3sas driver is already using wmb() for this purpose.
However, it issues a writel following wmb(). writel() function
on arm/arm64 arhictectures have an embedded wmb() call inside.

This results in unnecessary performance loss and code duplication.

writel already guarantees ordering for both cpu and bus. we don't need
additional wmb()

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 5b7aec5..18039bb 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1025,7 +1025,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 				    0 : ioc->reply_free_host_index + 1;
 				ioc->reply_free[ioc->reply_free_host_index] =
 				    cpu_to_le32(reply);
-				wmb();
 				writel(ioc->reply_free_host_index,
 				    &ioc->chip->ReplyFreeHostIndex);
 			}
@@ -1074,7 +1073,6 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
 		return IRQ_NONE;
 	}
 
-	wmb();
 	if (ioc->is_warpdrive) {
 		writel(reply_q->reply_post_host_index,
 		ioc->reply_post_host_index[msix_index]);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
  2017-04-07 19:06 ` Sinan Kaya
  (?)
@ 2017-04-20  2:28   ` Martin K. Petersen
  -1 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-20  2:28 UTC (permalink / raw)
  To: Sinan Kaya
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley, Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS FC/SAS/SPI, open list

Sinan Kaya <okaya@codeaurora.org> writes:

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.
>
> The mpt3sas driver is already using wmb() for this purpose.  However,
> it issues a writel following wmb(). writel() function on arm/arm64
> arhictectures have an embedded wmb() call inside.
>
> This results in unnecessary performance loss and code duplication.
>
> writel already guarantees ordering for both cpu and bus. we don't need
> additional wmb()

Broadcom folks, please review!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-20  2:28   ` Martin K. Petersen
  0 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-20  2:28 UTC (permalink / raw)
  To: Sinan Kaya
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley, Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

Sinan Kaya <okaya@codeaurora.org> writes:

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.
>
> The mpt3sas driver is already using wmb() for this purpose.  However,
> it issues a writel following wmb(). writel() function on arm/arm64
> arhictectures have an embedded wmb() call inside.
>
> This results in unnecessary performance loss and code duplication.
>
> writel already guarantees ordering for both cpu and bus. we don't need
> additional wmb()

Broadcom folks, please review!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-20  2:28   ` Martin K. Petersen
  0 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-20  2:28 UTC (permalink / raw)
  To: linux-arm-kernel

Sinan Kaya <okaya@codeaurora.org> writes:

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.
>
> The mpt3sas driver is already using wmb() for this purpose.  However,
> it issues a writel following wmb(). writel() function on arm/arm64
> arhictectures have an embedded wmb() call inside.
>
> This results in unnecessary performance loss and code duplication.
>
> writel already guarantees ordering for both cpu and bus. we don't need
> additional wmb()

Broadcom folks, please review!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
  2017-04-20  2:28   ` Martin K. Petersen
  (?)
@ 2017-04-21  7:56     ` Sreekanth Reddy
  -1 siblings, 0 replies; 18+ messages in thread
From: Sreekanth Reddy @ 2017-04-21  7:56 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: James E.J. Bottomley, Chaitra P B, linux-scsi, linux-arm-msm,
	timur, Sathya Prakash, open list, Sinan Kaya,
	Suganath Prabu Subramani,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	linux-arm-kernel

On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
> Sinan Kaya <okaya@codeaurora.org> writes:
>
>> Due to relaxed ordering requirements on multiple architectures,
>> drivers are required to use wmb/rmb/mb combinations when they need to
>> guarantee observability between the memory and the HW.
>>
>> The mpt3sas driver is already using wmb() for this purpose.  However,
>> it issues a writel following wmb(). writel() function on arm/arm64
>> arhictectures have an embedded wmb() call inside.

[Sreekanth] Whether same thing applicable for SPARC & POWER
architectures. If yes then we are fine with this patch changes.

>>
>> This results in unnecessary performance loss and code duplication.
>>
>> writel already guarantees ordering for both cpu and bus. we don't need
>> additional wmb()
>
> Broadcom folks, please review!
>
> --
> Martin K. Petersen      Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21  7:56     ` Sreekanth Reddy
  0 siblings, 0 replies; 18+ messages in thread
From: Sreekanth Reddy @ 2017-04-21  7:56 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: Sinan Kaya, linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
> Sinan Kaya <okaya@codeaurora.org> writes:
>
>> Due to relaxed ordering requirements on multiple architectures,
>> drivers are required to use wmb/rmb/mb combinations when they need to
>> guarantee observability between the memory and the HW.
>>
>> The mpt3sas driver is already using wmb() for this purpose.  However,
>> it issues a writel following wmb(). writel() function on arm/arm64
>> arhictectures have an embedded wmb() call inside.

[Sreekanth] Whether same thing applicable for SPARC & POWER
architectures. If yes then we are fine with this patch changes.

>>
>> This results in unnecessary performance loss and code duplication.
>>
>> writel already guarantees ordering for both cpu and bus. we don't need
>> additional wmb()
>
> Broadcom folks, please review!
>
> --
> Martin K. Petersen      Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21  7:56     ` Sreekanth Reddy
  0 siblings, 0 replies; 18+ messages in thread
From: Sreekanth Reddy @ 2017-04-21  7:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
> Sinan Kaya <okaya@codeaurora.org> writes:
>
>> Due to relaxed ordering requirements on multiple architectures,
>> drivers are required to use wmb/rmb/mb combinations when they need to
>> guarantee observability between the memory and the HW.
>>
>> The mpt3sas driver is already using wmb() for this purpose.  However,
>> it issues a writel following wmb(). writel() function on arm/arm64
>> arhictectures have an embedded wmb() call inside.

[Sreekanth] Whether same thing applicable for SPARC & POWER
architectures. If yes then we are fine with this patch changes.

>>
>> This results in unnecessary performance loss and code duplication.
>>
>> writel already guarantees ordering for both cpu and bus. we don't need
>> additional wmb()
>
> Broadcom folks, please review!
>
> --
> Martin K. Petersen      Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
  2017-04-21  7:56     ` Sreekanth Reddy
  (?)
@ 2017-04-21 13:47       ` Sinan Kaya
  -1 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-21 13:47 UTC (permalink / raw)
  To: Sreekanth Reddy, Martin K. Petersen
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

On 4/21/2017 3:56 AM, Sreekanth Reddy wrote:
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This behavior is common for all architectures according to this document.

Who would be the best person to comment on SPARC and POWER architectures
in specific? James and I exchanged some comments on the first version. 

James? can you comment on POWER behavior.

https://www.kernel.org/doc/Documentation/memory-barriers.txt

Inside of the Linux kernel, I/O should be done through the appropriate accessor
routines - such as inb() or writel() - which know how to make such accesses
appropriately sequential.  

"Whilst this, for the most part, renders the explicit
use of memory barriers unnecessary", 

there are a couple of situations where they might be needed:

 (1) On some systems, I/O stores are not strongly ordered across all CPUs, and
     so for _all_ general drivers locks should be used and mmiowb() must be
     issued prior to unlocking the critical section.

 (2) If the accessor functions are used to refer to an I/O memory window with
     relaxed memory access properties, then _mandatory_ memory barriers are
     required to enforce ordering.

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21 13:47       ` Sinan Kaya
  0 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-21 13:47 UTC (permalink / raw)
  To: Sreekanth Reddy, Martin K. Petersen
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

On 4/21/2017 3:56 AM, Sreekanth Reddy wrote:
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This behavior is common for all architectures according to this document.

Who would be the best person to comment on SPARC and POWER architectures
in specific? James and I exchanged some comments on the first version. 

James? can you comment on POWER behavior.

https://www.kernel.org/doc/Documentation/memory-barriers.txt

Inside of the Linux kernel, I/O should be done through the appropriate accessor
routines - such as inb() or writel() - which know how to make such accesses
appropriately sequential.  

"Whilst this, for the most part, renders the explicit
use of memory barriers unnecessary", 

there are a couple of situations where they might be needed:

 (1) On some systems, I/O stores are not strongly ordered across all CPUs, and
     so for _all_ general drivers locks should be used and mmiowb() must be
     issued prior to unlocking the critical section.

 (2) If the accessor functions are used to refer to an I/O memory window with
     relaxed memory access properties, then _mandatory_ memory barriers are
     required to enforce ordering.

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21 13:47       ` Sinan Kaya
  0 siblings, 0 replies; 18+ messages in thread
From: Sinan Kaya @ 2017-04-21 13:47 UTC (permalink / raw)
  To: linux-arm-kernel

On 4/21/2017 3:56 AM, Sreekanth Reddy wrote:
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This behavior is common for all architectures according to this document.

Who would be the best person to comment on SPARC and POWER architectures
in specific? James and I exchanged some comments on the first version. 

James? can you comment on POWER behavior.

https://www.kernel.org/doc/Documentation/memory-barriers.txt

Inside of the Linux kernel, I/O should be done through the appropriate accessor
routines - such as inb() or writel() - which know how to make such accesses
appropriately sequential.  

"Whilst this, for the most part, renders the explicit
use of memory barriers unnecessary", 

there are a couple of situations where they might be needed:

 (1) On some systems, I/O stores are not strongly ordered across all CPUs, and
     so for _all_ general drivers locks should be used and mmiowb() must be
     issued prior to unlocking the critical section.

 (2) If the accessor functions are used to refer to an I/O memory window with
     relaxed memory access properties, then _mandatory_ memory barriers are
     required to enforce ordering.

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
  2017-04-21  7:56     ` Sreekanth Reddy
  (?)
@ 2017-04-21 15:10       ` Brian King
  -1 siblings, 0 replies; 18+ messages in thread
From: Brian King @ 2017-04-21 15:10 UTC (permalink / raw)
  To: Sreekanth Reddy, Martin K. Petersen
  Cc: James E.J. Bottomley, Chaitra P B, linux-scsi, linux-arm-msm,
	timur, Sathya Prakash, open list, Sinan Kaya,
	Suganath Prabu Subramani,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	linux-arm-kernel

On 04/21/2017 02:56 AM, Sreekanth Reddy wrote:
> On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
> <martin.petersen@oracle.com> wrote:
>> Sinan Kaya <okaya@codeaurora.org> writes:
>>
>>> Due to relaxed ordering requirements on multiple architectures,
>>> drivers are required to use wmb/rmb/mb combinations when they need to
>>> guarantee observability between the memory and the HW.
>>>
>>> The mpt3sas driver is already using wmb() for this purpose.  However,
>>> it issues a writel following wmb(). writel() function on arm/arm64
>>> arhictectures have an embedded wmb() call inside.
> 
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This is also true for Power. 

Reviewed-by: Brian King <brking@linux.vnet.ibm.com>

-Brian

-- 
Brian King
Power Linux I/O
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21 15:10       ` Brian King
  0 siblings, 0 replies; 18+ messages in thread
From: Brian King @ 2017-04-21 15:10 UTC (permalink / raw)
  To: Sreekanth Reddy, Martin K. Petersen
  Cc: Sinan Kaya, linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list

On 04/21/2017 02:56 AM, Sreekanth Reddy wrote:
> On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
> <martin.petersen@oracle.com> wrote:
>> Sinan Kaya <okaya@codeaurora.org> writes:
>>
>>> Due to relaxed ordering requirements on multiple architectures,
>>> drivers are required to use wmb/rmb/mb combinations when they need to
>>> guarantee observability between the memory and the HW.
>>>
>>> The mpt3sas driver is already using wmb() for this purpose.  However,
>>> it issues a writel following wmb(). writel() function on arm/arm64
>>> arhictectures have an embedded wmb() call inside.
> 
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This is also true for Power. 

Reviewed-by: Brian King <brking@linux.vnet.ibm.com>

-Brian

-- 
Brian King
Power Linux I/O
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-21 15:10       ` Brian King
  0 siblings, 0 replies; 18+ messages in thread
From: Brian King @ 2017-04-21 15:10 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/21/2017 02:56 AM, Sreekanth Reddy wrote:
> On Thu, Apr 20, 2017 at 7:58 AM, Martin K. Petersen
> <martin.petersen@oracle.com> wrote:
>> Sinan Kaya <okaya@codeaurora.org> writes:
>>
>>> Due to relaxed ordering requirements on multiple architectures,
>>> drivers are required to use wmb/rmb/mb combinations when they need to
>>> guarantee observability between the memory and the HW.
>>>
>>> The mpt3sas driver is already using wmb() for this purpose.  However,
>>> it issues a writel following wmb(). writel() function on arm/arm64
>>> arhictectures have an embedded wmb() call inside.
> 
> [Sreekanth] Whether same thing applicable for SPARC & POWER
> architectures. If yes then we are fine with this patch changes.

This is also true for Power. 

Reviewed-by: Brian King <brking@linux.vnet.ibm.com>

-Brian

-- 
Brian King
Power Linux I/O
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
  2017-04-07 19:06 ` Sinan Kaya
  (?)
@ 2017-04-24 22:32   ` Martin K. Petersen
  -1 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-24 22:32 UTC (permalink / raw)
  To: Sinan Kaya
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley, Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS FC/SAS/SPI, open list


Sinan,

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.

Applied to 4.12/scsi-queue, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-24 22:32   ` Martin K. Petersen
  0 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-24 22:32 UTC (permalink / raw)
  To: Sinan Kaya
  Cc: linux-scsi, timur, linux-arm-msm, linux-arm-kernel,
	Sathya Prakash, Chaitra P B, Suganath Prabu Subramani,
	James E.J. Bottomley, Martin K. Petersen,
	open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI),
	open list


Sinan,

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.

Applied to 4.12/scsi-queue, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH V2] scsi: mpt3sas: remove redundant wmb
@ 2017-04-24 22:32   ` Martin K. Petersen
  0 siblings, 0 replies; 18+ messages in thread
From: Martin K. Petersen @ 2017-04-24 22:32 UTC (permalink / raw)
  To: linux-arm-kernel


Sinan,

> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they need to
> guarantee observability between the memory and the HW.

Applied to 4.12/scsi-queue, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2017-04-24 22:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-07 19:06 [PATCH V2] scsi: mpt3sas: remove redundant wmb Sinan Kaya
2017-04-07 19:06 ` Sinan Kaya
2017-04-07 19:06 ` Sinan Kaya
2017-04-20  2:28 ` Martin K. Petersen
2017-04-20  2:28   ` Martin K. Petersen
2017-04-20  2:28   ` Martin K. Petersen
2017-04-21  7:56   ` Sreekanth Reddy
2017-04-21  7:56     ` Sreekanth Reddy
2017-04-21  7:56     ` Sreekanth Reddy
2017-04-21 13:47     ` Sinan Kaya
2017-04-21 13:47       ` Sinan Kaya
2017-04-21 13:47       ` Sinan Kaya
2017-04-21 15:10     ` Brian King
2017-04-21 15:10       ` Brian King
2017-04-21 15:10       ` Brian King
2017-04-24 22:32 ` Martin K. Petersen
2017-04-24 22:32   ` Martin K. Petersen
2017-04-24 22:32   ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.