Message ID | 1378447278-13998-9-git-send-email-jeffrey.t.kirsher@intel.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, 5 Sep 2013 23:01:18 -0700 Jeff Kirsher <jeffrey.t.kirsher@intel.com> wrote: > diff --git a/drivers/net/ethernet/intel/i40e/Kbuild b/drivers/net/ethernet/intel/i40e/Kbuild > new file mode 100644 > index 0000000..479b2c4 Dumb question why is this named Kbuild instead of Makefile like almost every other network driver? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 5, 2013, at 11:15 PM, "Stephen Hemminger" <stephen@networkplumber.org<mailto:stephen@networkplumber.org>> wrote: Dumb question why is this named Kbuild instead of Makefile like almost every other network driver? All the new kids are doing it, we'll at least that is what I thought when I made it. Re-reading https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt I see that Makefile is preferred but Kbuild overrides Makefile. Either way works, but I would prefer not to rename it at this point but would gladly do so in a follow up patch -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2013-09-06 at 06:28 +0000, Brandeburg, Jesse wrote: > On Sep 5, 2013, at 11:15 PM, "Stephen Hemminger" <stephen@networkplumber.org<mailto:stephen@networkplumber.org>> wrote: > > Dumb question why is this named Kbuild instead of Makefile like almost > every other network driver? > > All the new kids are doing it, we'll at least that is what I thought when I made it. > > Re-reading https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt > > I see that Makefile is preferred but Kbuild overrides Makefile. > > Either way works, but I would prefer not to rename it at this point but would gladly do so in a follow up patch Please do. I suppose it makes _some_ sense to use Kbuild in the include paths but I think Makefile in places where compilations are done is better. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On > Behalf Of Joe Perches > Sent: Thursday, September 05, 2013 11:47 PM > To: Brandeburg, Jesse > Cc: Stephen Hemminger; Kirsher, Jeffrey T; davem@davemloft.net; e1000- > devel@lists.sourceforge.net; netdev@vger.kernel.org; gospo@redhat.com; > sassmann@redhat.com > Subject: Re: [E1000-devel] [net-next v5 8/8] i40e: include i40e in kernel > proper > > On Fri, 2013-09-06 at 06:28 +0000, Brandeburg, Jesse wrote: > > On Sep 5, 2013, at 11:15 PM, "Stephen Hemminger" > <stephen@networkplumber.org<mailto:stephen@networkplumber.org>> wrote: > > > > Dumb question why is this named Kbuild instead of Makefile like almost > > every other network driver? > > > > All the new kids are doing it, we'll at least that is what I thought when > I made it. > > > > Re-reading https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt > > > > I see that Makefile is preferred but Kbuild overrides Makefile. > > > > Either way works, but I would prefer not to rename it at this point but > would gladly do so in a follow up patch > > Please do. > > I suppose it makes _some_ sense to use Kbuild in the > include paths but I think Makefile in places where > compilations are done is better. > That was me. I did it to make things less confusing for our customers and for us as engineers. My goal was to make our out-of-tree driver as close as possible - including the makefiles - to the upstream driver. Doing this makes it simpler for us to backport and forward-port patches. It makes it less confusing for us when we're moving from one environment to the other. The Kbuild file submitted here is exactly the same file that will be included in our out-of-tree tarball. To avoid confusion, I named it Kbuild, so nobody would just run make in the source directory. The toplevel makefile in our tarball is named Makefile, and I wanted that to be the only Makefile around so nobody would be confused (including me). The kernel documentation specifically states that this is acceptable (Documentation/kbuild/modules.txt). Furthermore, Documentation/kbuild/makefiles.txt states that using Kbuild as a filename is acceptable. Personally, I'd prefer to keep these named Kbuild. Doing so makes it simpler to keep our in-tree and out-of-tree drivers in sync. But if you're really passionate about having them named Makefile, we can deal with it. It's just one more detail for us to keep track of (and potentially screw up). If there is a hard requirement that these files be named Makefile, then I would request that the kernel documentation be updated to reflect this. -Mitch -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 6 Sep 2013 17:28:09 +0000 "Williams, Mitch A" <mitch.a.williams@intel.com> wrote: > > -----Original Message----- > > From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On > > Behalf Of Joe Perches > > Sent: Thursday, September 05, 2013 11:47 PM > > To: Brandeburg, Jesse > > Cc: Stephen Hemminger; Kirsher, Jeffrey T; davem@davemloft.net; e1000- > > devel@lists.sourceforge.net; netdev@vger.kernel.org; gospo@redhat.com; > > sassmann@redhat.com > > Subject: Re: [E1000-devel] [net-next v5 8/8] i40e: include i40e in kernel > > proper > > > > On Fri, 2013-09-06 at 06:28 +0000, Brandeburg, Jesse wrote: > > > On Sep 5, 2013, at 11:15 PM, "Stephen Hemminger" > > <stephen@networkplumber.org<mailto:stephen@networkplumber.org>> wrote: > > > > > > Dumb question why is this named Kbuild instead of Makefile like almost > > > every other network driver? > > > > > > All the new kids are doing it, we'll at least that is what I thought when > > I made it. > > > > > > Re-reading https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt > > > > > > I see that Makefile is preferred but Kbuild overrides Makefile. > > > > > > Either way works, but I would prefer not to rename it at this point but > > would gladly do so in a follow up patch > > > > Please do. > > > > I suppose it makes _some_ sense to use Kbuild in the > > include paths but I think Makefile in places where > > compilations are done is better. > > > > That was me. I did it to make things less confusing for our customers and for us as engineers. > > My goal was to make our out-of-tree driver as close as possible - including the makefiles - to the upstream driver. Doing this makes it simpler for us to backport and forward-port patches. It makes it less confusing for us when we're moving from one environment to the other. > > The Kbuild file submitted here is exactly the same file that will be included in our out-of-tree tarball. To avoid confusion, I named it Kbuild, so nobody would just run make in the source directory. The toplevel makefile in our tarball is named Makefile, and I wanted that to be the only Makefile around so nobody would be confused (including me). > > The kernel documentation specifically states that this is acceptable (Documentation/kbuild/modules.txt). Furthermore, Documentation/kbuild/makefiles.txt states that using Kbuild as a filename is acceptable. > > Personally, I'd prefer to keep these named Kbuild. Doing so makes it simpler to keep our in-tree and out-of-tree drivers in sync. But if you're really passionate about having them named Makefile, we can deal with it. It's just one more detail for us to keep track of (and potentially screw up). > > If there is a hard requirement that these files be named Makefile, then I would request that the kernel documentation be updated to reflect this. > > -Mitch First, upstream kernel does not care how or why you do something for out-of-tree driver. As far as network developers are concerned, it is your own process (mistake) and you can live with the consequences of that decision. Second, why introduce something different to upstream with no apparent benefit $ find drivers/net -name Kbuild | wc -l 0 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
I'm kind of getting sick of the "we'll fix it in a follow up patch" talk. Please rename this Kbuild file to the normal Makefile instead of trying to be different from every single other driver in the networking for the sake of an issue that is your, and your problem alone. You guys should really be grateful that anyone at all not being paid to do so is reviewing such a huge body of code for you, rather than complaining that all the issues weren't discovered the first time this series was posted. Please start being more reasonable about this situation. Thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2013-09-06 at 17:28 +0000, Williams, Mitch A wrote: > My goal was to make our out-of-tree driver as close as possible - > including the makefiles - to the upstream driver. Doing this makes it > simpler for us to backport and forward-port patches. It makes it less > confusing for us when we're moving from one environment to the other. I think using things like #define i40e_memset memset is just odd. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Joe Perches <joe@perches.com> Date: Fri, 06 Sep 2013 11:20:15 -0700 > On Fri, 2013-09-06 at 17:28 +0000, Williams, Mitch A wrote: >> My goal was to make our out-of-tree driver as close as possible - >> including the makefiles - to the upstream driver. Doing this makes it >> simpler for us to backport and forward-port patches. It makes it less >> confusing for us when we're moving from one environment to the other. > > I think using things like > > #define i40e_memset memset > > is just odd. Agreed, this is rediculous. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 6 Sep 2013 14:01:41 -0400 David Miller <davem@davemloft.net> wrote: > Please rename this Kbuild file to the normal Makefile instead of > trying to be different from every single other driver in the > networking for the sake of an issue that is your, and your problem > alone. Thanks Dave, will do, I'm preparing the patch now. > You guys should really be grateful that anyone at all not being paid > to do so is reviewing such a huge body of code for you, rather than > complaining that all the issues weren't discovered the first time > this series was posted. We *are* really grateful for all the effort of any/all reviewers. I would like to personally thank you Dave, Joe Perches, Ben Hutchings, and Stephen Hemminger for the non-trival amount of time spent on reviewing this patch set. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX index 18b64b2..f11580f 100644 --- a/Documentation/networking/00-INDEX +++ b/Documentation/networking/00-INDEX @@ -86,6 +86,8 @@ generic_netlink.txt - info on Generic Netlink gianfar.txt - Gianfar Ethernet Driver. +i40e.txt + - README for the Intel Ethernet Controller XL710 Driver (i40e). ieee802154.txt - Linux IEEE 802.15.4 implementation, API and drivers igb.txt diff --git a/Documentation/networking/i40e.txt b/Documentation/networking/i40e.txt new file mode 100644 index 0000000..f737273 --- /dev/null +++ b/Documentation/networking/i40e.txt @@ -0,0 +1,115 @@ +Linux Base Driver for the Intel(R) Ethernet Controller XL710 Family +=================================================================== + +Intel i40e Linux driver. +Copyright(c) 2013 Intel Corporation. + +Contents +======== + +- Identifying Your Adapter +- Additional Configurations +- Performance Tuning +- Known Issues +- Support + + +Identifying Your Adapter +======================== + +The driver in this release is compatible with the Intel Ethernet +Controller XL710 Family. + +For more information on how to identify your adapter, go to the Adapter & +Driver ID Guide at: + + http://support.intel.com/support/network/sb/CS-012904.htm + + +Enabling the driver +=================== + +The driver is enabled via the standard kernel configuration system, +using the make command: + + Make oldconfig/silentoldconfig/menuconfig/etc. + +The driver is located in the menu structure at: + + -> Device Drivers + -> Network device support (NETDEVICES [=y]) + -> Ethernet driver support + -> Intel devices + -> Intel(R) Ethernet Controller XL710 Family + +Additional Configurations +========================= + + Generic Receive Offload (GRO) + ----------------------------- + The driver supports the in-kernel software implementation of GRO. GRO has + shown that by coalescing Rx traffic into larger chunks of data, CPU + utilization can be significantly reduced when under large Rx load. GRO is + an evolution of the previously-used LRO interface. GRO is able to coalesce + other protocols besides TCP. It's also safe to use with configurations that + are problematic for LRO, namely bridging and iSCSI. + + Ethtool + ------- + The driver utilizes the ethtool interface for driver configuration and + diagnostics, as well as displaying statistical information. The latest + ethtool version is required for this functionality. + + The latest release of ethtool can be found from + https://www.kernel.org/pub/software/network/ethtool + + Data Center Bridging (DCB) + -------------------------- + DCB configuration is not currently supported. + + FCoE + ---- + Fiber Channel over Ethernet (FCoE) hardware offload is not currently + supported. + + MAC and VLAN anti-spoofing feature + ---------------------------------- + When a malicious driver attempts to send a spoofed packet, it is dropped by + the hardware and not transmitted. An interrupt is sent to the PF driver + notifying it of the spoof attempt. + + When a spoofed packet is detected the PF driver will send the following + message to the system log (displayed by the "dmesg" command): + + Spoof event(s) detected on VF (n) + + Where n=the VF that attempted to do the spoofing. + + +Performance Tuning +================== + +An excellent article on performance tuning can be found at: + +http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf + + +Known Issues +============ + + +Support +======= + +For general information, go to the Intel support website at: + + http://support.intel.com + +or the Intel Wired Networking project hosted by Sourceforge at: + + http://e1000.sourceforge.net + +If an issue is identified with the released source code on the supported +kernel with a supported adapter, email the specific information related +to the issue to e1000-devel@lists.sourceforge.net and copy +netdev@vger.kernel.org. diff --git a/MAINTAINERS b/MAINTAINERS index 9d8ab7c..38e24cc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4340,7 +4340,7 @@ M: Deepak Saxena <dsaxena@plexity.net> S: Maintained F: drivers/char/hw_random/ixp4xx-rng.c -INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf) +INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e) M: Jeff Kirsher <jeffrey.t.kirsher@intel.com> M: Jesse Brandeburg <jesse.brandeburg@intel.com> M: Bruce Allan <bruce.w.allan@intel.com> @@ -4365,6 +4365,7 @@ F: Documentation/networking/igbvf.txt F: Documentation/networking/ixgb.txt F: Documentation/networking/ixgbe.txt F: Documentation/networking/ixgbevf.txt +F: Documentation/networking/i40e.txt F: drivers/net/ethernet/intel/ INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig index f0e7ed2..149ac85 100644 --- a/drivers/net/ethernet/intel/Kconfig +++ b/drivers/net/ethernet/intel/Kconfig @@ -241,4 +241,22 @@ config IXGBEVF will be called ixgbevf. MSI-X interrupt support is required for this driver to work correctly. +config I40E + tristate "Intel(R) Ethernet Controller XL710 Family support" + depends on PCI + ---help--- + This driver supports Intel(R) Ethernet Controller XL710 Family of + devices. For more information on how to identify your adapter, go + to the Adapter & Driver ID Guide at: + + <http://support.intel.com/support/network/adapter/pro100/21397.htm> + + For general information and support, go to the Intel support + website at: + + <http://support.intel.com> + + To compile this driver as a module, choose M here. The module + will be called i40e. + endif # NET_VENDOR_INTEL diff --git a/drivers/net/ethernet/intel/Makefile b/drivers/net/ethernet/intel/Makefile index c8210e6..5bae933 100644 --- a/drivers/net/ethernet/intel/Makefile +++ b/drivers/net/ethernet/intel/Makefile @@ -9,4 +9,5 @@ obj-$(CONFIG_IGB) += igb/ obj-$(CONFIG_IGBVF) += igbvf/ obj-$(CONFIG_IXGBE) += ixgbe/ obj-$(CONFIG_IXGBEVF) += ixgbevf/ +obj-$(CONFIG_I40E) += i40e/ obj-$(CONFIG_IXGB) += ixgb/ diff --git a/drivers/net/ethernet/intel/i40e/Kbuild b/drivers/net/ethernet/intel/i40e/Kbuild new file mode 100644 index 0000000..479b2c4 --- /dev/null +++ b/drivers/net/ethernet/intel/i40e/Kbuild @@ -0,0 +1,44 @@ +################################################################################ +# +# Intel Ethernet Controller XL710 Family Linux Driver +# Copyright(c) 2013 Intel Corporation. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. +# +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". +# +# Contact Information: +# e1000-devel Mailing List <e1000-devel@lists.sourceforge.net> +# Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 +# +################################################################################ + +# +# Makefile for the Intel(R) Ethernet Connection XL710 (i40e.ko) driver +# + +obj-$(CONFIG_I40E) += i40e.o + +i40e-objs := i40e_main.o \ + i40e_ethtool.o \ + i40e_adminq.o \ + i40e_common.o \ + i40e_hmc.o \ + i40e_lan_hmc.o \ + i40e_nvm.o \ + i40e_debugfs.o \ + i40e_diag.o \ + i40e_txrx.o \ + i40e_virtchnl_pf.o