1. 12 Nov, 2014 23 commits
  2. 11 Nov, 2014 17 commits
    • Joe Perches's avatar
      irda: Remove IRDA_<TYPE> logging macros · 6c91023d
      Joe Perches authored
      And use the more common mechanisms directly.
      
      Other miscellanea:
      
      o Coalesce formats
      o Add missing newlines
      o Realign arguments
      o Remove unnecessary OOM message logging as
        there's a generic stack dump already on OOM.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6c91023d
    • WANG Cong's avatar
      net: kill netif_copy_real_num_queues() · 09626e9d
      WANG Cong authored
      vlan was the only user of netif_copy_real_num_queues(),
      but it no longer calls it after
      commit 4af429d2 ("vlan: lockless transmit path").
      So we can just remove it.
      
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      09626e9d
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 2387e3b5
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2014-11-11
      
      This series contains updates to i40e, i40evf and ixgbe.
      
      Kamil updated the i40e and i40evf driver to poll the firmware slower
      since we were polling faster than the firmware could respond.
      
      Shannon updates i40e to add a check to keep the service_task from
      running the periodic tasks more than once per second, while still
      allowing quick action to service the events.
      
      Jesse cleans up the throttle rate code by fixing the minimum interrupt
      throttle rate and removing some unused defines.
      
      Mitch makes the early init admin queue message receive code more robust
      by handling messages in a loop and ignoring those that we are not
      interested in.  This also gets rid of some scary log messages that
      really do not indicate a problem.
      
      Don provides several ixgbe patches, first fixes an issue with x540
      completion timeout where on topologies including few levels of PCIe
      switching for x540 can run into an unexpected completion error.  Cleans
      up the functionality in ixgbe_ndo_set_vf_vlan() in preparation for
      future work.  Adds support for x550 MAC's to the driver.
      
      v2:
       - Remove code comment in patch 01 of the series, based on feedback from
         David Liaght
       - Updated the "goto" to "break" statements in patch 06 of the series,
         based on feedback from Sergei Shtylyov
       - Initialized the variable err due to the possibility of use before
         being assigned a value in patch 07 of the series
       - Added patch "ixgbe: add helper function for setting RSS key in
         preparation of X550" since it is needed for the addition of X550 MAC
         support
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2387e3b5
    • Sudip Mukherjee's avatar
      usbnet: smsc95xx: dereferencing NULL pointer · 8bca81d9
      Sudip Mukherjee authored
      we were dereferencing dev to initialize pdata. but just after that we
      have a BUG_ON(!dev). so we were basically dereferencing the pointer
      first and then tesing it for NULL.
      Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8bca81d9
    • Joe Perches's avatar
      irda: Simplify IRDA logging macros · d65c4e4e
      Joe Perches authored
      These are the same as net_<level>_ratelimited, so
      use the more common style in the macro definition.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d65c4e4e
    • WANG Cong's avatar
      neigh: remove dynamic neigh table registration support · d7480fd3
      WANG Cong authored
      Currently there are only three neigh tables in the whole kernel:
      arp table, ndisc table and decnet neigh table. What's more,
      we don't support registering multiple tables per family.
      Therefore we can just make these tables statically built-in.
      
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d7480fd3
    • Andy Shevchenko's avatar
      stmmac: split to core library and probe drivers · b2e2f0c7
      Andy Shevchenko authored
      Instead of registering the platform and PCI drivers in one module let's move
      necessary bits to where it belongs. During this procedure we convert the module
      registration part to use module_*_driver() macros which makes code simplier.
      
      >From now on the driver consists three parts: core library, PCI, and platform
      drivers.
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2e2f0c7
    • Joe Perches's avatar
      net: Convert LIMIT_NETDEBUG to net_dbg_ratelimited · ba7a46f1
      Joe Perches authored
      Use the more common dynamic_debug capable net_dbg_ratelimited
      and remove the LIMIT_NETDEBUG macro.
      
      All messages are still ratelimited.
      
      Some KERN_<LEVEL> uses are changed to KERN_DEBUG.
      
      This may have some negative impact on messages that were
      emitted at KERN_INFO that are not not enabled at all unless
      DEBUG is defined or dynamic_debug is enabled.  Even so,
      these messages are now _not_ emitted by default.
      
      This also eliminates the use of the net_msg_warn sysctl
      "/proc/sys/net/core/warnings".  For backward compatibility,
      the sysctl is not removed, but it has no function.  The extern
      declaration of net_msg_warn is removed from sock.h and made
      static in net/core/sysctl_net_core.c
      
      Miscellanea:
      
      o Update the sysctl documentation
      o Remove the embedded uses of pr_fmt
      o Coalesce format fragments
      o Realign arguments
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba7a46f1
    • Denis Kirjanov's avatar
      PPC: bpf_jit_comp: add SKF_AD_HATYPE instruction · 5b61c4db
      Denis Kirjanov authored
      Add BPF extension SKF_AD_HATYPE to ppc JIT to check
      the hw type of the interface
      
      Before:
      [   57.723666] test_bpf: #20 LD_HATYPE
      [   57.723675] BPF filter opcode 0020 (@0) unsupported
      [   57.724168] 48 48 PASS
      
      After:
      [  103.053184] test_bpf: #20 LD_HATYPE 7 6 PASS
      
      CC: Alexei Starovoitov<alexei.starovoitov@gmail.com>
      CC: Daniel Borkmann<dborkman@redhat.com>
      CC: Philippe Bergheaud<felix@linux.vnet.ibm.com>
      Signed-off-by: default avatarDenis Kirjanov <kda@linux-powerpc.org>
      
      v2: address Alexei's comments
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b61c4db
    • David S. Miller's avatar
      Merge branch 'net_next_ovs' of git://git.kernel.org/pub/scm/linux/kernel/git/pshelar/openvswitch · 4083c805
      David S. Miller authored
      Pravin B Shelar says:
      
      ====================
      Open vSwitch
      
      Following batch of patches brings feature parity between upstream
      ovs and out of tree ovs module.
      
      Two features are added, first adds support to export egress
      tunnel information for a packet. This is used to improve
      visibility in network traffic. Second feature allows userspace
      vswitchd process to probe ovs module features. Other patches
      are optimization and code cleanup.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4083c805
    • Joe Perches's avatar
      dsa: Use netdev_<level> instead of printk · a2ae6007
      Joe Perches authored
      Neaten and standardize the logging output.
      
      Other miscellanea:
      
      o Use pr_notice_once instead of a guard flag.
      o Convert existing pr_<level> uses too.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a2ae6007
    • David S. Miller's avatar
      Merge branch 'mlx4-next' · 008e8165
      David S. Miller authored
      Or Gerlitz says:
      
      ====================
      mlx4: Add CHECKSUM_COMPLETE support
      
      These patches from Shani, Matan and myself add support for
      CHECKSUM_COMPLETE reporting on non TCP/UDP packets such as
      GRE and ICMP. I'd like to deeply thank Jerry Chu for his
      innovation and support in that effort.
      
      Based on the feedback from Eric and Ido Shamay, in V2 we dropped
      the patch which removed the calls to napi_gro_frags() and added
      a patch which makes the RX code to go through that path
      regardless of the checksum status.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      008e8165
    • Shani Michaeli's avatar
      net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE · f8c6455b
      Shani Michaeli authored
      When processing received traffic, pass CHECKSUM_COMPLETE status to the
      stack, with calculated checksum for non TCP/UDP packets (such
      as GRE or ICMP).
      
      Although the stack expects checksum which doesn't include the pseudo
      header, the HW adds it. To address that, we are subtracting the pseudo
      header checksum from the checksum value provided by the HW.
      
      In the IPv6 case, we also compute/add the IP header checksum which
      is not added by the HW for such packets.
      
      Cc: Jerry Chu <hkchu@google.com>
      Signed-off-by: default avatarShani Michaeli <shanim@mellanox.com>
      Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8c6455b
    • Shani Michaeli's avatar
      net/mlx4_en: Extend usage of napi_gro_frags · dd65beac
      Shani Michaeli authored
      We can call napi_gro_frags for all the received traffic regardless
      of the checksum status. Specifically, received packets whose status
      is CHECKSUM_NONE (and soon to be added CHECKSUM_COMPLETE)
      are eligible for napi_gro_frags as well.
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarShani Michaeli <shanim@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd65beac
    • David S. Miller's avatar
      Merge branch 'so_incoming_cpu' · b00394c0
      David S. Miller authored
      Eric Dumazet says:
      
      ====================
      net: SO_INCOMING_CPU support
      
      SO_INCOMING_CPU socket option (read by getsockopt()) provides
      an alternative to RPS/RFS for high performance servers using
      multi queues NIC.
      
      TCP should use sk_mark_napi_id() for established sockets only.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b00394c0
    • Eric Dumazet's avatar
      net: introduce SO_INCOMING_CPU · 2c8c56e1
      Eric Dumazet authored
      Alternative to RPS/RFS is to use hardware support for multiple
      queues.
      
      Then split a set of million of sockets into worker threads, each
      one using epoll() to manage events on its own socket pool.
      
      Ideally, we want one thread per RX/TX queue/cpu, but we have no way to
      know after accept() or connect() on which queue/cpu a socket is managed.
      
      We normally use one cpu per RX queue (IRQ smp_affinity being properly
      set), so remembering on socket structure which cpu delivered last packet
      is enough to solve the problem.
      
      After accept(), connect(), or even file descriptor passing around
      processes, applications can use :
      
       int cpu;
       socklen_t len = sizeof(cpu);
      
       getsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu, &len);
      
      And use this information to put the socket into the right silo
      for optimal performance, as all networking stack should run
      on the appropriate cpu, without need to send IPI (RPS/RFS).
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c8c56e1
    • Eric Dumazet's avatar
      tcp: move sk_mark_napi_id() at the right place · 3d97379a
      Eric Dumazet authored
      sk_mark_napi_id() is used to record for a flow napi id of incoming
      packets for busypoll sake.
      We should do this only on established flows, not on listeners.
      
      This was 'working' by virtue of the socket cloning, but doing
      this on SYN packets in unecessary cache line dirtying.
      
      Even if we move sk_napi_id in the same cache line than sk_lock,
      we are working to make SYN processing lockless, so it is desirable
      to set sk_napi_id only for established flows.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3d97379a