1. 24 3月, 2014 3 次提交
    • C
      gianfar: Fix P1010 config regression (SQ polling) · c65d7533
      Claudiu Manoil 提交于
      The P1010 device tree restricts the number of
      supported interrupt groups to 1, although the eth
      controller can support 2 interrupt groups and the
      driver assumes the Multi-Group mode ("fsl,etsec2" model).
      
      So, in this case the assumption that the Multi-Group
      mode (MQ_MG_MODE) devices always support 2 interrupt
      groups is false.  To fix this, a check for the actual
      number of interrupt groups enabled in the board's
      device tree has been added in gfar_probe for the
      "fsl,etsec2" devices.
      
      Without this fix, P1010 based boards claim support for
      2 Tx queues to the net stack but only one is actually
      allocated, leading to NULL access in xmit.  This issue
      was introduced by enabling Single-Queue polling for
      the P1010 devices.
      (71ff9e3d gianfar: Use Single-Queue polling for
      "fsl,etsec2")
      
      Fixes: 71ff9e3dSigned-off-by: NClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c65d7533
    • L
      ipv4: remove ipv4_ifdown_dst from route.c · 4a4eb21f
      Li RongQing 提交于
      ipv4_ifdown_dst does nothing after IPv4 route caches removal,
      so we can remove it.
      Signed-off-by: NLi RongQing <roy.qing.li@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a4eb21f
    • E
      net: optimize csum_replace2() · 99f0b958
      Eric Dumazet 提交于
      When changing one 16bit value by another in IP header, we can adjust
      the IP checksum by doing a simple operation described in RFC 1624, as
      reminded by David.
      
      csum_partial() is a complex function on x86_64, not really suited for
      small number of checksummed bytes.
      
      I spotted csum_partial() being in the top 20 most consuming functions
      (more than 1 %) in a GRO workload, which was rather unexpected.
      
      The caller was inet_gro_complete() doing a csum_replace2() when
      building the new IP header for the GRO packet.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      99f0b958
  2. 23 3月, 2014 1 次提交
    • D
      Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge · 860b4042
      David S. Miller 提交于
      Antonio Quartulli says:
      
      ====================
      Included changes:
      - use ether_addr_copy instead of memcpy when possible
      - implement new multicast packet optimisation
      - improve several kerneldoc sections
      - minor code cleanups
      
      here you have our patchset for net-next/linux-3.15.  They are 16
      patches but most of them are just small cleanups and kerneldoc
      improvements.
      
      The only big change is the one from patch 8 to 13 by Linus Lüssing
      that introduces a new multicast packets optimisation. This new
      component aims to reduce the air overhead by sending multicast packets
      as bat-unicast when only one destination exists or by dropping them
      directly at the source if the multicast group is totally empty.
      
      In patch 11 Linus introduces an atomic_t variable, that like others
      that we already have is only object of write and read, thus making the
      atomic characteristic totally useless.  Unfortunately this is part of
      our sysfs framework, that helps the developer to introduce new knobs
      by using few macros only. For this reason we decided to keep Linus'
      new knob for now, but I'd like to let you know that we are in the
      process of re-working such framework in order to convert all the
      current (useless) atomic_t to boolean in one go.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      860b4042
  3. 22 3月, 2014 26 次提交
  4. 21 3月, 2014 10 次提交