1. 05 Nov, 2014 10 commits
  2. 04 Nov, 2014 17 commits
  3. 03 Nov, 2014 13 commits
    • Eric Dumazet's avatar
      net: add rbnode to struct sk_buff · 56b17425
      Eric Dumazet authored
      Yaogong replaces TCP out of order receive queue by an RB tree.
      
      As netem already does a private skb->{next/prev/tstamp} union
      with a 'struct rb_node', lets do this in a cleaner way.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Yaogong Wang <wygivan@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      56b17425
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 8ce0c825
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2014-11-03
      
      This series contains updates to i40e and i40evf.
      
      Akeem adds a check for i40e so that flow director flush and reinit are
      not done when flow director is not enabled.
      
      Mitch fixes the i40evf driver to properly handle multiple admin queue
      messages, by reinit the msg_size field each time we go through the loop.
      Without this, we may receive truncated messages due to the firmware
      thinking we have insufficient buffer size.  Also fixes the link checking
      logic to only check the carrier state if the interface is actually
      open, which allows link changes to be reported correctly without spamming
      the VFs.  Updates i40e to inset the VSI ID in the QTX_CTL register
      when configuring queues for VMDq VSIs.
      
      Paul adds support for 10G-base-T in i40evf.
      
      Jesse fixes i40e where the call to irq_dynamic_disable() was turning off
      the interrupt completely when trying to set ITR to 0 (for lowest
      moderation).
      
      Shannon removes debugfs dump stats function, since it was not being
      kept up-to-date and was redundant with the ethtool output.  Also, scales
      back the LAN MSIx usage to force queue/vector sharing and leave some
      vectors for Flow Director, VMDq, etc. when there are more cores than
      vectors available to the PF.  Cleans up the error reporting for
      get_lump() resource tracking errors.  Also adds a check for the
      debug module parameter earlier to be able to catch the early configuration
      phase admin queue messages.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ce0c825
    • Sudip Mukherjee's avatar
      hamradio: 6pack: remove unnecessary check · ec5a0ec1
      Sudip Mukherjee authored
      this is check for dev is unnecessary, as we are already checking dev
      after allocating it via alloc_netdev, and jumping to label: out
      if it is NULL.
      Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ec5a0ec1
    • Denis Kirjanov's avatar
      PPC: bpf_jit_comp: add SKF_AD_PKTTYPE instruction · 4e235761
      Denis Kirjanov authored
      Add BPF extension SKF_AD_PKTTYPE to ppc JIT to load
      skb->pkt_type field.
      
      Before:
      [   88.262622] test_bpf: #11 LD_IND_NET 86 97 99 PASS
      [   88.265740] test_bpf: #12 LD_PKTTYPE 109 107 PASS
      
      After:
      [   80.605964] test_bpf: #11 LD_IND_NET 44 40 39 PASS
      [   80.607370] test_bpf: #12 LD_PKTTYPE 9 9 PASS
      
      CC: Alexei Starovoitov<alexei.starovoitov@gmail.com>
      CC: Michael Ellerman<mpe@ellerman.id.au>
      Cc: Matt Evans <matt@ozlabs.org>
      Signed-off-by: default avatarDenis Kirjanov <kda@linux-powerpc.org>
      
      v2: Added test rusults
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e235761
    • David S. Miller's avatar
      Merge branch 'mlx4-next' · 547f2735
      David S. Miller authored
      Or Gerlitz says:
      
      ====================
      Mellanox ethernet driver update Oct-30-2014
      
      The 1st patch from Saeed fixes a bug in the last net-next batch where
      a VF could get access to set port configuration, the next patch from Amir
      fixes a race in the port VPI logic. Next are two performance patches from Ido.
      
      The patch to add checksum complete status on GRE and such packets was
      preceded with a patch that converted the driver to only use napi_gro_receive
      vs. the current code which goes through napi_gro_frags on it's usual track.
      Eric D. has some thoughts and suggestions on that change for which we
      want to take the time and consider, so for the time being dropped that
      patch and the ones that depend on it.
      
      Changes from V0:
        - have the caller to provide the __GFP_COLD hint to the service function
        - dropped the patch that changes the GRO logic and the subsequent dependent
          patches.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      547f2735
    • Matan Barak's avatar
      net/mlx4_core: Add retrieval of CONFIG_DEV parameters · d475c95b
      Matan Barak authored
      Add code to issue CONFIG_DEV "get" firmware command.
      
      This command is used in order to obtain certain parameters used for
      supporting various RX checksumming options and vxlan UDP port.
      
      The GET operation is allowed for VFs too.
      Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarShani Michaeli <shanim@mellanox.com>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d475c95b
    • Ido Shamay's avatar
      net/mlx4_en: Add __GFP_COLD gfp flags in alloc_pages · 1ab25f86
      Ido Shamay authored
      Needed in order to get cache cold pages (L3 flushed) for HW scatter.
      
      Otherwise memory may flush those entries when the packet comes from
      PCI, causing back pressure resulting in BW decrease.
      Signed-off-by: default avatarIdo Shamay <idos@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ab25f86
    • Ido Shamay's avatar
      net/mlx4_en: Remove RX buffers alignment to IP_ALIGN · 5f6e9800
      Ido Shamay authored
      When IP_ALIGN has a non zero value, hardware will write to a non aligned
      address. The only reader from this address is when copying the header
      from the first frag into the linear buffer (further access to the IP
      address will be from the linear buffer, in which the headers are
      aligned). Since the penalty of non align access by the hardware is
      greater than the software memcpy, changing the frag_align to always be 0.
      Signed-off-by: default avatarIdo Shamay <idos@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f6e9800
    • Amir Vadai's avatar
      net/mlx4_core: Protect port type setting by mutex · 0a984556
      Amir Vadai authored
      We need to protect set_port_type() for concurrency, as the sysfs code could
      call it from mutliple contexts in parallel.
      
      The port_mutex is not enough because we need to protect from concurrent
      modification of 'info' and stopping of the port sensing work.
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0a984556
    • Saeed Mahameed's avatar
      net/mlx4_core: Prevent VF from changing port configuration · 6e806699
      Saeed Mahameed authored
      Added wrapper to the ACCESS_REG command for handling guest HW
      registers access, preventing write operations, but do allow reads.
      
      This will prevent SRIOV guests to change port PTYS configuration,
      such as speed/advertised link modes.
      
      Fixes: adbc7ac5 ('net/mlx4_core: Introduce ACCESS_REG CMD [...]')
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e806699
    • Eric Dumazet's avatar
      net: less interrupt masking in NAPI · d75b1ade
      Eric Dumazet authored
      net_rx_action() can mask irqs a single time to transfert sd->poll_list
      into a private list, for a very short duration.
      
      Then, napi_complete() can avoid masking irqs again,
      and net_rx_action() only needs to mask irq again in slow path.
      
      This patch removes 2 couples of irq mask/unmask per typical NAPI run,
      more if multiple napi were triggered.
      
      Note this also allows to give control back to caller (do_softirq())
      more often, so that other softirq handlers can be called a bit earlier,
      or ksoftirqd can be wakeup earlier under pressure.
      
      This was developed while testing an alternative to RX interrupt
      mitigation to reduce latencies while keeping or improving GRO
      aggregation on fast NIC.
      
      Idea is to test napi->gro_list at the end of a napi->poll() and
      reschedule one NAPI poll, but after servicing a full round of
      softirqs (timers, TX, rcu, ...). This will be allowed only if softirq
      is currently serviced by idle task or ksoftirqd, and resched not needed.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Willem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d75b1ade
    • Eric Dumazet's avatar
      net: shrink struct softnet_data · 4cdb1e2e
      Eric Dumazet authored
      flow_limit in struct softnet_data is only read from local cpu
      and can be moved to fill a hole, reducing softnet_data size by
      64 bytes on x86_64
      
      While we are at it, move output_queue, output_queue_tailp and
      completion_queue, so that rx / tx paths touch a single cache line.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4cdb1e2e
    • Mitch Williams's avatar
      i40e: properly parse MDET registers · 2089ad03
      Mitch Williams authored
      Fix a few problems with our parsing of the MDET registers:
      * Queue IDs are longer than 8 bits
      * Queue IDs are absolute for the device and the base queue must be
        subtracted out.
      * VF IDs are longer than 8 bits
      * Use the MASK define to mask the event value, instead of the SHIFT
        define.
      
      Change-ID: I3dc7237f480c02e1192a2a8ea782f8a02ab2a8b7
      Reported-by: default avatarMarc Neustadter <marc.neustadter@intel.com>
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Signed-off-by: default avatarPatrick Lu <patrick.lu@intel.com>
      Tested-by: default avatarJim Young <jamesx.m.young@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      2089ad03