1. 24 3月, 2014 1 次提交
    • 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 12 次提交