1. 06 11月, 2014 6 次提交
    • T
      udp: Offload outer UDP tunnel csum if available · 4bcb877d
      Tom Herbert 提交于
      In __skb_udp_tunnel_segment if outer UDP checksums are enabled and
      ip_summed is not already CHECKSUM_PARTIAL, set up checksum offload
      if device features allow it.
      Signed-off-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bcb877d
    • T
      net: Move fou_build_header into fou.c and refactor · 63487bab
      Tom Herbert 提交于
      Move fou_build_header out of ip_tunnel.c and into fou.c splitting
      it up into fou_build_header, gue_build_header, and fou_build_udp.
      This allows for other users for TX of FOU or GUE. Change ip_tunnel_encap
      to call fou_build_header or gue_build_header based on the tunnel
      encapsulation type. Similarly, added fou_encap_hlen and gue_encap_hlen
      functions which are called by ip_encap_hlen. New net/fou.h has
      prototypes and defines for this.
      
      Added NET_FOU_IP_TUNNELS configuration. When this is set, IP tunnels
      can use FOU/GUE and fou module is also selected.
      Signed-off-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      63487bab
    • D
      Merge branch 'stmmac-next' · 890b7916
      David S. Miller 提交于
      Giuseppe Cavallaro says:
      
      ====================
      stmmac: review driver Koptions
      
      Recently many Koption options have been added to have new glue logic on several
      platforms.
      
      The main goal behind this work is to guarantee that the driver built
      fine on all the branches where it is present independently of which
      glue logic is selected.
      
      IMHO, it is better to remove all the not necessary Koption(s) that can hide
      build problems when something changes in the driver and especially when
      the DT compatibility allows us to manage all the platform data.
      
      I compiled the driver w/o any issue on net-next Git for:
      
        x86, arm and sh4.
      
      In case of there are build problems on some repos now it will be
      easy to catch them and cherry-pick patches from mainstream.
      
      For sure, do not hesitate to contact me in case of issue.
      
      Also this set removes STMMAC_DEBUG_FS and BUS_MODE_DA. The latter is useless
      and the former can be replaced by DEBUG_FS (always to make safe the build).
      
      V2: patch-set re-based on top of the latest updates for net-next
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      890b7916
    • G
      stmmac: remove BUS_MODE_DA · 98fbebcb
      Giuseppe CAVALLARO 提交于
      This is a very old and often unused option to configure
      a bit in a register inside the DMA. This support should
      not stay under Koption and should be extended for new chips too.
      This will be do later maybe via device-tree parameters.
      Also no performance impact when remove this setting on STi platforms.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      98fbebcb
    • G
      stmmac: remove STMMAC_DEBUG_FS · 50fb4f74
      Giuseppe CAVALLARO 提交于
      the STMMAC_DEBUG_FS Koption is now removed from the
      driver configuration and this support will be built
      by default when DEBUG_FS is present. This can also be
      useful on building driver verification.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      50fb4f74
    • G
      stmmac: remove specific SoC Koption from platform. · c0d54066
      Giuseppe CAVALLARO 提交于
      This patch removes all the Koptions added to build the glue-logic files
      for all different architectures: DWMAC_MESON, DWMAC_SUNXI, DWMAC_STI ...
      Nowadays the stmmac needs to be compiled on several platforms; in some
      case it very convenient to guarantee that its build is always completed
      with success on all the branches where the driver is present.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0d54066
  2. 05 11月, 2014 17 次提交
  3. 04 11月, 2014 12 次提交
    • E
      net: add rbnode to struct sk_buff · 56b17425
      Eric Dumazet 提交于
      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: NEric Dumazet <edumazet@google.com>
      Cc: Yaogong Wang <wygivan@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56b17425
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 8ce0c825
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      8ce0c825
    • S
      hamradio: 6pack: remove unnecessary check · ec5a0ec1
      Sudip Mukherjee 提交于
      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: NSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ec5a0ec1
    • D
      PPC: bpf_jit_comp: add SKF_AD_PKTTYPE instruction · 4e235761
      Denis Kirjanov 提交于
      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: NDenis Kirjanov <kda@linux-powerpc.org>
      
      v2: Added test rusults
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e235761
    • D
      Merge branch 'mlx4-next' · 547f2735
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      547f2735
    • M
      net/mlx4_core: Add retrieval of CONFIG_DEV parameters · d475c95b
      Matan Barak 提交于
      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: NMatan Barak <matanb@mellanox.com>
      Signed-off-by: NShani Michaeli <shanim@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d475c95b
    • I
      net/mlx4_en: Add __GFP_COLD gfp flags in alloc_pages · 1ab25f86
      Ido Shamay 提交于
      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: NIdo Shamay <idos@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ab25f86
    • I
      net/mlx4_en: Remove RX buffers alignment to IP_ALIGN · 5f6e9800
      Ido Shamay 提交于
      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: NIdo Shamay <idos@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f6e9800
    • A
      net/mlx4_core: Protect port type setting by mutex · 0a984556
      Amir Vadai 提交于
      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: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a984556
    • S
      net/mlx4_core: Prevent VF from changing port configuration · 6e806699
      Saeed Mahameed 提交于
      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: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e806699
    • E
      net: less interrupt masking in NAPI · d75b1ade
      Eric Dumazet 提交于
      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: NEric Dumazet <edumazet@google.com>
      Cc: Willem de Bruijn <willemb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d75b1ade
    • E
      net: shrink struct softnet_data · 4cdb1e2e
      Eric Dumazet 提交于
      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: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cdb1e2e
  4. 03 11月, 2014 5 次提交