On 1/22/2019 11:17 AM, Kalle Valo wrote:
Sinan Kaya writes:
On 1/22/2019 5:15 AM, Luciano Coelho wrote:
On Mon, 2019-01-21 at 23:31 +, Sinan Kaya wrote:
There is an unresolved dependency as follows:
IWLWIFI_LEDS selects MAC80211_LEDS.
MAC80211_LEDS depends on MAC80211.
It is possible
On 1/22/2019 5:15 AM, Luciano Coelho wrote:
On Mon, 2019-01-21 at 23:31 +, Sinan Kaya wrote:
There is an unresolved dependency as follows:
IWLWIFI_LEDS selects MAC80211_LEDS.
MAC80211_LEDS depends on MAC80211.
It is possible to choose MAC80211_LEDS (y) but not choose MAC80211
(n)
WARNING
y into IWLWIFI_LEDS so that we avoid this
configuration.
Signed-off-by: Sinan Kaya
---
drivers/net/wireless/intel/iwlwifi/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/Kconfig
b/drivers/net/wireless/intel/iwlwifi/Kconfig
index 49
+netdev,
On 7/30/2018 9:45 AM, Alexander Duyck wrote:
I haven't had a chance to work on this much myself. My understanding
is that igb has had the barriers updated, but I don't think any of the
other drivers have been worked over yet.
Unfortunately, I have recently changed jobs and I no longer
iwlwifi: Remove unnecessary include of
PCI: Remove unnecessary include of
Thanks.
Reviewed-by: Sinan Kaya
Is it possible to kill that file altogether? I haven't looked who is
using outside of pci directory.
On 4/3/2018 1:47 PM, Alexander Duyck wrote:
> On Mon, Apr 2, 2018 at 7:59 PM, Sinan Kaya wrote:
>> Alex,
>>
>> On 4/2/2018 3:06 PM, Sinan Kaya wrote:
>>> Code includes wmb() followed by writel() in multiple places. writel()
>>> already has a barrier on some
Alex,
On 4/2/2018 3:06 PM, Sinan Kaya wrote:
> Code includes wmb() followed by writel() in multiple places. writel()
> already has a barrier on some architectures like arm64.
>
> This ends up CPU observing two barriers back to back before executing the
> register write.
>
&g
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++---
2 files changed, 3 insertions(+), 8
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
().
There are places in the code where wmb() has been used as a double barrier
for CPU and IO in place of smp_wmb() and wmb() as an optimization. For
such places, keep the wmb() but replace the following writel() with
writel_relaxed() to have a sequence as
wmb()
writel_relaxed()
mmio_wb()
Signed-off
://www.mail-archive.com/netdev@vger.kernel.org/msg225806.html
* removed wmb() in front of writel() at several places.
* remove old IA64 comments regarding ordering.
Sinan Kaya (7):
i40e/i40evf: Eliminate duplicate barriers on weakly-ordered archs
ixgbe: eliminate duplicate barriers o
On 3/29/2018 9:40 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2018-03-29 at 09:56 -0400, Sinan Kaya wrote:
>> On 3/28/2018 11:55 AM, David Miller wrote:
>>> From: Benjamin Herrenschmidt
>>> Date: Thu, 29 Mar 2018 02:13:16 +1100
>>>
>>>> Let's f
On 3/29/2018 12:29 PM, Arnd Bergmann wrote:
> On Thu, Mar 29, 2018 at 3:56 PM, Sinan Kaya wrote:
>> On 3/28/2018 11:55 AM, David Miller wrote:
>>> From: Benjamin Herrenschmidt
>>> Date: Thu, 29 Mar 2018 02:13:16 +1100
>>>
>>>> Let's fix all ar
stion sent
tilequestion sent
unicore32 question sent
x86 no issues
xtensa question sent
--
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.
tel() as the write barrier seems to
serve dual purpose.
Please help me getting this right on the next version.
Sinan
--
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.
sion started to move around the need for relaxed API on PPC and then
why wmb() question came up.
Sinan
--
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.
to remove wmb() and throw in smp barriers there
like you mentioned.
I'll leave the changes in the Intel drivers alone.
--
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 L
On 3/27/2018 12:54 PM, Jeff Kirsher wrote:
> On Tue, 2018-03-27 at 08:42 -0400, Sinan Kaya wrote:
>> On 3/23/2018 10:34 PM, ok...@codeaurora.org wrote:
>>> On 2018-03-23 19:58, Jeff Kirsher wrote:
>>>> On Fri, 2018-03-23 at 14:53 -0700, Alexander Duyck wrote:
>>
() we will have to
> NAK the patches. We will accept the wmb() with writel_releaxed() since
> that solves things for ARM.
>
I added netdev and you to the RFC on writel and writel_relaxed list.
Feel free to raise your concerns.
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as a
now that for x86 you have to have a
wmb() before the writel().
Based on the comment in
(https://www.spinics.net/lists/linux-rdma/msg62666.html):
Replacing wmb() + writel() with wmb() + writel_relaxed() will work on
PPC, it will just not give you a benefit today.
I say the patch set stays. This gives benefit on ARM, and has no
effect on x86 and PowerPC. If you want to look at trying to optimize
things further on PowerPC and such then go for it in terms of trying
to implement the writel_relaxed(). Otherwise I say we call the ARM
goodness a win and don't get ourselves too wrapped up in trying to fix
this for all architectures."
>
> Cheers,
> Ben.
>
>
--
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.
s. IO-memory case at least a a wmb()/rmb() has to be used.
> Is this not correct?
We are being told that if you use writel(), then you don't need a wmb() on
all architectures.
Jason is seeking behavior clarification for write combined buffers.
>
> Regards,
> Lino
>
--
Si
On 3/27/2018 10:00 AM, David Miller wrote:
> From: Sinan Kaya
> Date: Tue, 27 Mar 2018 08:40:41 -0400
>
>> Are you able to drop the applied ones so that I can post V7 or is it
>> too late?
>
> I cannot "drop" changes from my tree since my tree is used b
Jeff,
On 3/23/2018 10:34 PM, ok...@codeaurora.org wrote:
> On 2018-03-23 19:58, Jeff Kirsher wrote:
>> On Fri, 2018-03-23 at 14:53 -0700, Alexander Duyck wrote:
>>> On Fri, Mar 23, 2018 at 11:52 AM, Sinan Kaya
>>> wrote:
>>> > Code includes wmb() followed
Dave,
On 3/26/2018 12:48 PM, David Miller wrote:
> From: Sinan Kaya
> Date: Sun, 25 Mar 2018 10:39:14 -0400
>
>> Code includes wmb() followed by writel() in multiple places. writel()
>> already has a barrier on some architectures like arm64.
>>
>> This ends up C
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qlge/qlge.h | 16
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 3 ++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge.h
b/drivers/net/ethernet
following a wmb().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Also add mmiowb() so that write code doesn't move outside of scope.
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/b
()
for multi-arch support.
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qla3xxx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c
b/drivers/net/ethernet/qlogic/qla3xxx.c
index 9e5264d..b48f761 100644
--- a/drivers/net
-by: Sinan Kaya
Acked-by: Manish Chopra
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 46b0372..97c146e7
-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 12
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 ++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 +-
drivers/net/ethernet
barrier() doesn't guarantee memory writes to be observed by the hardware on
all architectures. barrier() only tells compiler not to move this code
with respect to other read/writes.
If memory write needs to be observed by the HW, wmb() is the right choice.
Signed-off-by: Sinan Kaya
---
dr
following a barrier().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed() and adding mmiowb() for ordering protection.
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/amazon/ena/ena_com.c | 8 ++--
drivers/net/ethernet/amazon/ena/ena_eth_com.h | 8
- remove extra mmiowb in bnx2x
- correct spelling mistake in bnx2x: Replace doorbell barrier() with wmb()
Sinan Kaya (7):
net: qla3xxx: Eliminate duplicate barriers on weakly-ordered archs
qlcnic: Eliminate duplicate barriers on weakly-ordered archs
bnx2x: Replace doorbell barrier() with wmb(
On 3/24/2018 10:30 AM, Chopra, Manish wrote:
>> -Original Message-
>> From: Sinan Kaya [mailto:ok...@codeaurora.org]
>> Sent: Friday, March 23, 2018 10:44 PM
>> To: David Miller
>> Cc: netdev@vger.kernel.org; ti...@codeaurora.org; sulr...@codeaurora.org;
&g
x this on the next version.
--
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.
-by: Sinan Kaya
Acked-by: Manish Chopra
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 46b0372..97c146e7
barrier() doesn't guarantee memory writes to be observed by the hardware on
all architectures. barrier() only tells compiler not to move this code
with respect to other read/writes.
If memory write needs to be observed by the HW, wmb() is the right choice.
Signed-off-by: Sinan Kaya
---
dr
()
for multi-arch support.
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qla3xxx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c
b/drivers/net/ethernet/qlogic/qla3xxx.c
index 9e5264d..b48f761 100644
--- a/drivers/net
-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 12
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 ++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 +-
drivers/net/ethernet
following a wmb().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Also add mmiowb() so that write code doesn't move outside of scope.
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
drivers/net/ethernet/broadcom/bnxt/b
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qlge/qlge.h | 16
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 3 ++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge.h
b/drivers/net/ethernet
ge doorbell barrier to wmb for observability guarantee across
all architectures.
Sinan Kaya (6):
net: qla3xxx: Eliminate duplicate barriers on weakly-ordered archs
qlcnic: Eliminate duplicate barriers on weakly-ordered archs
bnx2x: Replace doorbell barrier() with wmb()
bnx2x: Eliminate duplicate ba
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index e3b32ea..fb80edb 100644
--- a
-by: Sinan Kaya
---
drivers/net/ethernet/intel/igbvf/netdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c
b/drivers/net/ethernet/intel/igbvf/netdev.c
index fa07876..df2283b 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
-by: Sinan Kaya
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 14 ++
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 4 ++--
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
-by: Sinan Kaya
---
drivers/net/ethernet/intel/igb/igb_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
b/drivers/net/ethernet/intel/igb/igb_main.c
index 3d4ff3c..c501378 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
-by: Sinan Kaya
---
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 409554d..bb94f04 100644
--- a/drivers/net/ethernet/intel
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++---
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 815cb1a..7277647
wb shouldn't be needed for Rx. Only one CPU will be running
NAPI for the queue and we will synchronize this with a full writel
anyway when we re-enable the interrupts.
Sinan Kaya (7):
i40e/i40evf: Eliminate duplicate barriers on weakly-ordered archs
ixgbe: eliminate duplicate
hanges
on 1 and 7.
--
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.
ritel_relaxed() changes as I don't know the code well enough.
Please point me to the redundant ones.
--
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.
-by: Sinan Kaya
---
drivers/net/ethernet/intel/igbvf/netdev.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c
b/drivers/net/ethernet/intel/igbvf/netdev.c
index fa07876..6dfd3dc 100644
--- a/drivers/net/ethernet/intel/igbvf
-by: Sinan Kaya
---
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 409554d..360ff9b 100644
--- a/drivers/net/ethernet
-by: Sinan Kaya
---
drivers/net/ethernet/intel/igb/igb_main.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
b/drivers/net/ethernet/intel/igb/igb_main.c
index 3d4ff3c..570af25 100644
--- a/drivers/net/ethernet/intel/igb
-by: Sinan Kaya
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 24
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 9 +++--
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
b/drivers/net/ethernet/intel
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++---
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 21 ++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 815cb1a
gbevf: keep writel() closer to wmb() to jkircher
posted ixgbevf: eliminate duplicate barriers on weakly-ordered archs to
Sinan Kaya (7):
i40e/i40evf: Eliminate duplicate barriers on weakly-ordered archs
ixgbe: eliminate duplicate barriers on weakly-ordered archs
igbvf: eliminate duplicate ba
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 23 +++
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index e3b32ea..1ecc2f5
On 3/23/2018 1:04 PM, David Miller wrote:
> From: Sinan Kaya
> Date: Fri, 23 Mar 2018 12:51:47 -0400
>
>> It could if txdata->tx_db was not a union. There is a data dependency
>> between txdata->tx_db.data.prod and txdata->tx_db.raw.
>>
>> So, no reo
On 3/23/2018 12:43 PM, David Miller wrote:
> From: Sinan Kaya
> Date: Fri, 23 Mar 2018 12:31:12 -0400
>
>> Sorry, you got me confused now.
>>
>> If you look at the code closer, you'll see this.
>>
>> wmb();
>>
>> txdata->tx_db.
On 3/23/2018 12:20 PM, David Miller wrote:
> From: Sinan Kaya
> Date: Thu, 22 Mar 2018 13:10:00 -0400
>
>> Code includes wmb() followed by writel(). writel() already has a
>> barrier on some architectures like arm64.
> ...
>> @@ -4155,7 +4155,7 @@ netdev_tx_t b
-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 12
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 ++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 +-
drivers/net/ethernet
-by: Sinan Kaya
Acked-by: Manish Chopra
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 46b0372..97c146e7
-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qla3xxx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c
b/drivers/net/ethernet/qlogic/qla3xxx.c
index 9e5264d..0e71b74 100644
--- a/drivers/net/ethernet/qlogic/qla3xxx.c
+++ b/drivers
following a wmb().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 9 +
2 files changed, 10 insertions(+), 1 deletion(-)
diff
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qlge/qlge.h | 16
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 3 ++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge.h
b/drivers/net/ethernet
t needs to change and what can remain.
We start with mostly used ones and hope to increase the coverage over time.
It will take a while to cover all drivers.
Changes since v4:
- dropped bnx2x, ena
- collect reviewed and tested bys
- rename DOORBELL to DOORBELL_RELAXED
- limit changes to hot paths only
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 815cb1a..eaa930e 100644
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++---
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers
On 3/21/2018 10:56 AM, David Miller wrote:
> From: Sinan Kaya
> Date: Mon, 19 Mar 2018 22:42:15 -0400
>
>> Code includes wmb() followed by writel() in multiple places. writel()
>> already has a barrier on some architectures like arm64.
>>
>> This ends up CPU ob
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/igb/igb_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
b/drivers/net/ethernet/intel/igb/igb_main.c
index b88fae7..82aea92 100644
--- a/drivers/net
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 8
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
b/drivers/net/ethernet
writel_relaxed().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 ++--
2 files changed, 2 insertions(+), 7
-by: Sinan Kaya
---
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 8e12aae..eebef01 100644
--- a/drivers/net/ethernet/intel
writel_relaxed().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/igbvf/netdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c
b/drivers/net/ethernet/intel/igbvf/netdev.c
index 4214c15..edb1c34 100644
--- a/drivers/net
-kernel/msg641851.html
- group patches together into subsystems net:...
- collect reviewed and tested bys
- scrub barrier()
Sinan Kaya (7):
i40e/i40evf: Eliminate duplicate barriers on weakly-ordered archs
ixgbe: eliminate duplicate barriers on weakly-ordered archs
igbvf: eliminate duplicate ba
Remove ixgbevf_write_tail() in favor of moving writel() close to
wmb().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 ++--
2 files changed, 2 insertions(+), 7
-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qla3xxx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c
b/drivers/net/ethernet/qlogic/qla3xxx.c
index 9e5264d..0e71b74 100644
--- a/drivers/net/ethernet/qlogic/qla3xxx.c
+++ b/drivers
-by: Sinan Kaya
---
drivers/net/ethernet/chelsio/cxgb/sge.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb/sge.c
b/drivers/net/ethernet/chelsio/cxgb/sge.c
index 30de26e..57891bd6 100644
--- a/drivers/net/ethernet/chelsio/cxgb/sge.c
+++ b
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/igbvf/netdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c
b/drivers/net/ethernet/intel/igbvf/netdev.c
index 4214c15..edb1c34 100644
--- a/drivers/net
writel_relaxed().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
writel_relaxed().
Signed-off-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qlge/qlge.h | 18 ++
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 2 +-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge.h
b/drivers/net/ethernet
-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 9 -
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 ++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 21 +++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 2 +-
drivers/net
following a wmb().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 11 ++-
drivers/net/ethernet/broadcom/bnxt
-by: Sinan Kaya
Acked-by: Manish Chopra
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 46b0372..97c146e7
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 6 ++
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 13 +++--
drivers/net/ethernet/chelsio/cxgb4/sge.c| 12 ++--
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2
following a wmb().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/qlogic/qed/qed.h | 5 -
drivers/net/ethernet/qlogic/qed/qed_hw.c| 12
drivers/net/ethernet/qlogic/qed
following a barrier().
Since code already has an explicit barrier call, changing writel() to
writel_relaxed().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/amazon/ena/ena_com.c | 6 --
drivers/net/ethernet/amazon/ena/ena_eth_com.h | 22 --
drivers/net/ethernet
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/igb/igb_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
b/drivers/net/ethernet/intel/igb/igb_main.c
index b88fae7..82aea92 100644
--- a/drivers/net
following a wmb().
Signed-off-by: Sinan Kaya
---
drivers/net/ethernet/chelsio/cxgb3/adapter.h | 7 +++
drivers/net/ethernet/chelsio/cxgb3/sge.c | 19 ++-
2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb3/adapter.h
b/drivers
-by: Sinan Kaya
Reviewed-by: Alexander Duyck
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 8
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
b/drivers/net/ethernet
-by: Sinan Kaya
---
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 8e12aae..eebef01 100644
--- a/drivers/net/ethernet/intel
1 - 100 of 174 matches
Mail list logo