1. 01 Nov, 2016 3 commits
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · c5870942
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2016-10-31
      
      This series contains updates to i40e and i40evf.
      
      Colin Ian King fixes a minor issue with dev_err message where a new line
      character was missing from the end of the message.
      
      Jake provides several most of the changes in the series, starting with
      dropping the is_vf and is_netdev fields in the i40e_mac_filter structure
      since they are not needed (along with the checks that used these fields).
      Reason being that we use separate VSI's for SRIOV VFs and for netdev VSIs,
      therefore a single VSI should only have one type of filter.  Then
      simplifies our .set_rx_mode handler by using the kernel provided
      __dev_uc_sync and __dev_mc_sync functions for notification of add and
      deletion of filters.  Refactored the i40e_put_mac_in_vlan() to resolve
      an issue where this function was arbitrarily modifying all filters to
      have the same VLAN, which is incorrect because it could be modifying
      active filters without putting them into the new state.  Refactored the
      delete filter logic so that we can re-use the functionality, where
      appropriate, without having to search for the filter twice.  Reduced the
      latency of operations related to searching for specific MAC filters by
      using a static hash table instead of a list.  Reduced code duplication
      in the adminq command to add/delete for filters.  Fixed an issue where
      TSYNVALID bit was not being checked as the true indicator of whether
      the packet has an associated timestamp.  Cleaned up a second msleep()
      call by simply re-ordering the code so that the extra wait is no longer
      needed.
      
      Alan provides additional fix to the work Jake has been doing to resolve
      a bug where adding at least one VLAN and then removing all VLANs leaves
      the MAC filters for the VSI with an incorrect value for the VID which
      indicates the MAC filter's VLAN status.
      
      Alex adds a common method for finding a VSI by type.  Also cleaned up
      the logic for coalescing RS bits, which was convoluted and larger than
      it needed to be.
      
      Mitch fixes an issue with the failure to add filters when the VF driver
      is reloaded by simply setting the number of filters to 0 when freeing
      VF resources.
      
      Maciej implements a I40E_NVMUPD_STATE_ERROR state for NVM update, so
      that the driver has the ability to return NVM image write failure.
      
      Filip removes unreachable code which was found using static analysis
      where "if" statements were never in a "true/false" state, so clean up
      unnecessary if statements.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5870942
    • Eric Dumazet's avatar
      net: set SK_MEM_QUANTUM to 4096 · bd68a2a8
      Eric Dumazet authored
      Systems with large pages (64KB pages for example) do not always have
      huge quantity of memory.
      
      A big SK_MEM_QUANTUM value leads to fewer interactions with the
      global counters (like tcp_memory_allocated) but might trigger
      memory pressure much faster, giving suboptimal TCP performance
      since windows are lowered to ridiculous values.
      
      Note that sysctl_mem units being in pages and in ABI, we also need
      to change sk_prot_mem_limits() accordingly.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd68a2a8
    • Paul Gortmaker's avatar
      net: cris: make eth_v10.c explicitly non-modular · a13925a4
      Paul Gortmaker authored
      The Makefile/Kconfig currently controlling compilation of this code is:
      
      drivers/net/cris/Makefile:obj-$(CONFIG_ETRAX_ARCH_V10) += eth_v10.o
      
      arch/cris/Kconfig:config ETRAX_ARCH_V10
      arch/cris/Kconfig:       bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      There was a one line wrapper for the int init function, which made no
      sense; hence we just put the device_initcall on the true init function
      itself and delete the pointless wrapper.  In doing that we get rid of
      the following compile warning:
      
         WARNING: drivers/net/built-in.o(.text+0x1e28): Section mismatch in
         reference from the function etrax_init_module() to the function
         .init.text:etrax_ethernet_init()
      
      We don't replace module.h with init.h since the file already has that.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: netdev@vger.kernel.org
      Cc: linux-cris-kernel@axis.com
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a13925a4
  2. 31 Oct, 2016 37 commits