Message ID | 1486114233-9800-3-git-send-email-maowenan@huawei.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, Feb 3, 2017 at 1:30 AM, Mao Wenan <maowenan@huawei.com> wrote: > This patch allows one to enable relax order mode in intel NIC's > Kconfig. CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for some > CPU architecture to use relax order mode in NIC's source codes. > CONFIG_ARCH_WANT_RELAX_ORDER can be defined in arch/xxx/Kconfig, > such as sparc system exists in arch/sparc/Kconfig, but not all > of arm64 systems can use relax order mode, so it can't be defined > in arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER in NIC's Kconfig > provide one way to define macro CONFIG_ARCH_WANT_RELAX_ORDER. > > Signed-off-by: Mao Wenan <maowenan@huawei.com> > --- > drivers/net/ethernet/intel/Kconfig | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig > index 1349b45..b366722 100644 > --- a/drivers/net/ethernet/intel/Kconfig > +++ b/drivers/net/ethernet/intel/Kconfig > @@ -275,4 +275,19 @@ config FM10K > To compile this driver as a module, choose M here. The module > will be called fm10k. MSI-X interrupt support is required > > +config PCI_RELAX_ORDER > + bool "PCI relax order mode support" > + default n > + select ARCH_WANT_RELAX_ORDER > + ---help--- > + This allows one to enable relax order mode in driver. > + CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for some > + CPU architecture to use relax order mode in NIC's source codes. > + CONFIG_ARCH_WANT_RELAX_ORDER can be defined in arch/xxx/Kconfig, > + such as sparc system exists in arch/sparc/Kconfig, but not all > + of arm64 systems can use relax order mode, so it can't be defined > + in arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER provide one way > + to define macro CONFIG_ARCH_WANT_RELAX_ORDER. Say Y here if you > + want to enable relax order. > + > endif # NET_VENDOR_INTEL You can't be dropping configuration options like this in here. The ARCH_WANT_RELAX_ORDER should be selected by the architecture as a def_bool, not by the user via a kconfig option. In addition this option has no business in the Intel wired LAN directory as this impacts all architectures. This is something that would be an architecture specific PCI option and could impact other PCI devices beyond what is just in networking. If you are wanting to target the arm64 architecture you should probably drop this in the /arch/arm64/Kconfig, then that way anyone familiar with the arm64 hardware can chime in if enabling relaxed ordering causes any known issues. - Alex
> -----Original Message----- > From: Alexander Duyck [mailto:alexander.duyck@gmail.com] > Sent: Saturday, February 04, 2017 12:43 AM > To: maowenan > Cc: Netdev; Jeff Kirsher > Subject: Re: [PATCH net-next 2/2] add one config to select relax order mode in > intel NIC's Kconfig > > On Fri, Feb 3, 2017 at 1:30 AM, Mao Wenan <maowenan@huawei.com> wrote: > > This patch allows one to enable relax order mode in intel NIC's > > Kconfig. CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for some > CPU > > architecture to use relax order mode in NIC's source codes. > > CONFIG_ARCH_WANT_RELAX_ORDER can be defined in arch/xxx/Kconfig, > such > > as sparc system exists in arch/sparc/Kconfig, but not all of arm64 > > systems can use relax order mode, so it can't be defined in > > arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER in NIC's Kconfig provide > > one way to define macro CONFIG_ARCH_WANT_RELAX_ORDER. > > > > Signed-off-by: Mao Wenan <maowenan@huawei.com> > > --- > > drivers/net/ethernet/intel/Kconfig | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/drivers/net/ethernet/intel/Kconfig > > b/drivers/net/ethernet/intel/Kconfig > > index 1349b45..b366722 100644 > > --- a/drivers/net/ethernet/intel/Kconfig > > +++ b/drivers/net/ethernet/intel/Kconfig > > @@ -275,4 +275,19 @@ config FM10K > > To compile this driver as a module, choose M here. The module > > will be called fm10k. MSI-X interrupt support is required > > > > +config PCI_RELAX_ORDER > > + bool "PCI relax order mode support" > > + default n > > + select ARCH_WANT_RELAX_ORDER > > + ---help--- > > + This allows one to enable relax order mode in driver. > > + CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for > some > > + CPU architecture to use relax order mode in NIC's source codes. > > + CONFIG_ARCH_WANT_RELAX_ORDER can be defined in > arch/xxx/Kconfig, > > + such as sparc system exists in arch/sparc/Kconfig, but not all > > + of arm64 systems can use relax order mode, so it can't be > defined > > + in arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER provide > one way > > + to define macro CONFIG_ARCH_WANT_RELAX_ORDER. Say Y > here if you > > + want to enable relax order. > > + > > endif # NET_VENDOR_INTEL > > > You can't be dropping configuration options like this in here. The > ARCH_WANT_RELAX_ORDER should be selected by the architecture as a > def_bool, not by the user via a kconfig option. In addition this option has no > business in the Intel wired LAN directory as this impacts all architectures. > > This is something that would be an architecture specific PCI option and could > impact other PCI devices beyond what is just in networking. > If you are wanting to target the arm64 architecture you should probably drop > this in the /arch/arm64/Kconfig, then that way anyone familiar with the arm64 > hardware can chime in if enabling relaxed ordering causes any known issues. > > - Alex I have tried to drop configuration to arch/arm64/Kconfig, but I found there will be side effect as not all of arm64 systems really need relax order, so I put it in intel Kconfig because it is a feature of PCI device and configured by NIC's register. By the way, do you agree the first patch of this series, shall I repost it individually? [PATCH net-next 1/2] ixgbevf and 82598 relax order mode support
diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig index 1349b45..b366722 100644 --- a/drivers/net/ethernet/intel/Kconfig +++ b/drivers/net/ethernet/intel/Kconfig @@ -275,4 +275,19 @@ config FM10K To compile this driver as a module, choose M here. The module will be called fm10k. MSI-X interrupt support is required +config PCI_RELAX_ORDER + bool "PCI relax order mode support" + default n + select ARCH_WANT_RELAX_ORDER + ---help--- + This allows one to enable relax order mode in driver. + CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for some + CPU architecture to use relax order mode in NIC's source codes. + CONFIG_ARCH_WANT_RELAX_ORDER can be defined in arch/xxx/Kconfig, + such as sparc system exists in arch/sparc/Kconfig, but not all + of arm64 systems can use relax order mode, so it can't be defined + in arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER provide one way + to define macro CONFIG_ARCH_WANT_RELAX_ORDER. Say Y here if you + want to enable relax order. + endif # NET_VENDOR_INTEL
This patch allows one to enable relax order mode in intel NIC's Kconfig. CONFIG_ARCH_WANT_RELAX_ORDER is a common macro for some CPU architecture to use relax order mode in NIC's source codes. CONFIG_ARCH_WANT_RELAX_ORDER can be defined in arch/xxx/Kconfig, such as sparc system exists in arch/sparc/Kconfig, but not all of arm64 systems can use relax order mode, so it can't be defined in arch/arm64/Kconfig. Therefore PCI_RELAX_ORDER in NIC's Kconfig provide one way to define macro CONFIG_ARCH_WANT_RELAX_ORDER. Signed-off-by: Mao Wenan <maowenan@huawei.com> --- drivers/net/ethernet/intel/Kconfig | 15 +++++++++++++++ 1 file changed, 15 insertions(+)