Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a8b6d76 authored by Mao Wenan's avatar Mao Wenan Committed by David S. Miller
Browse files

net:add one common config ARCH_WANT_RELAX_ORDER to support relax ordering



Relax ordering(RO) is one feature of 82599 NIC, to enable this feature can
enhance the performance for some cpu architecure, such as SPARC and so on.
Currently it only supports one special cpu architecture(SPARC) in 82599
driver to enable RO feature, this is not very common for other cpu architecture
which really needs RO feature.
This patch add one common config CONFIG_ARCH_WANT_RELAX_ORDER to set RO feature,
and should define CONFIG_ARCH_WANT_RELAX_ORDER in sparc Kconfig firstly.

Signed-off-by: default avatarMao Wenan <maowenan@huawei.com>
Reviewed-by: default avatarAlexander Duyck <alexander.duyck@gmail.com>
Reviewed-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1e48aac1
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -781,4 +781,7 @@ config VMAP_STACK
	  the stack to map directly to the KASAN shadow map using a formula
	  the stack to map directly to the KASAN shadow map using a formula
	  that is incorrect if the stack is in vmalloc space.
	  that is incorrect if the stack is in vmalloc space.


config ARCH_WANT_RELAX_ORDER
	bool

source "kernel/gcov/Kconfig"
source "kernel/gcov/Kconfig"
+1 −0
Original line number Original line Diff line number Diff line
@@ -44,6 +44,7 @@ config SPARC
	select CPU_NO_EFFICIENT_FFS
	select CPU_NO_EFFICIENT_FFS
	select HAVE_ARCH_HARDENED_USERCOPY
	select HAVE_ARCH_HARDENED_USERCOPY
	select PROVE_LOCKING_SMALL if PROVE_LOCKING
	select PROVE_LOCKING_SMALL if PROVE_LOCKING
	select ARCH_WANT_RELAX_ORDER


config SPARC32
config SPARC32
	def_bool !64BIT
	def_bool !64BIT
+1 −1
Original line number Original line Diff line number Diff line
@@ -350,7 +350,7 @@ s32 ixgbe_start_hw_gen2(struct ixgbe_hw *hw)
	}
	}
	IXGBE_WRITE_FLUSH(hw);
	IXGBE_WRITE_FLUSH(hw);


#ifndef CONFIG_SPARC
#ifndef CONFIG_ARCH_WANT_RELAX_ORDER
	/* Disable relaxed ordering */
	/* Disable relaxed ordering */
	for (i = 0; i < hw->mac.max_tx_queues; i++) {
	for (i = 0; i < hw->mac.max_tx_queues; i++) {
		u32 regval;
		u32 regval;