1. 27 Mar, 2017 4 commits
  2. 26 Mar, 2017 10 commits
  3. 25 Mar, 2017 22 commits
  4. 24 Mar, 2017 4 commits
    • Florian Fainelli's avatar
      net: dsa: bcm_sf2: Add missing OF_MDIO dependency · 68e49855
      Florian Fainelli authored
      bcm_sf2 does require the MDIO_BCM_UNIMAC driver which is now dependent
      on OF_MDIO but also internally uses of_mdio.c provided routines which
      are guarted with OF_MDIO.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Fixes: 90eff909 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68e49855
    • David S. Miller's avatar
      Merge branch 'ipv6-sr-perf-improvements' · f106d164
      David S. Miller authored
      David Lebrun says:
      
      ====================
      Performances improvement for IPv6 Segment Routing
      
      This patch series improves the performances of IPv6 SR by optimizing skb head
      reallocation and extending the use of dst_cache. The overall performances improve
      by 35%.
      
      Before patch series (SRH encap):
      Result: OK: 7348320(c7347271+d1048) usec, 5000000 (1000byte,0frags)
        680427pps 5443Mb/sec (5443416000bps) errors: 0
      
      After patch series (SRH encap):
      Result: OK: 4774543(c4774084+d459) usec, 5000000 (1000byte,0frags)
        1047220pps 8377Mb/sec (8377760000bps) errors: 0
      
      Baseline for plain IPv6 forwarding:
      Result: OK: 4244144(c4243722+d422) usec, 5000000 (1000byte,0frags)
        1178093pps 9424Mb/sec (9424744000bps) errors: 0
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f106d164
    • David Lebrun's avatar
      ipv6: sr: use dst_cache in seg6_input · af4a2209
      David Lebrun authored
      We already use dst_cache in seg6_output, when handling locally generated
      packets. We extend it in seg6_input, to also handle forwarded packets, and avoid
      unnecessary fib lookups.
      
      Performances for SRH encapsulation before the patch:
      Result: OK: 5656067(c5655678+d388) usec, 5000000 (1000byte,0frags)
        884006pps 7072Mb/sec (7072048000bps) errors: 0
      
      Performances after the patch:
      Result: OK: 4774543(c4774084+d459) usec, 5000000 (1000byte,0frags)
        1047220pps 8377Mb/sec (8377760000bps) errors: 0
      Signed-off-by: default avatarDavid Lebrun <david.lebrun@uclouvain.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af4a2209
    • David Lebrun's avatar
      ipv6: sr: expand skb head only if necessary · 19d5a26f
      David Lebrun authored
      To insert or encapsulate a packet with an SRH, we need a large enough skb
      headroom. Currently, we are using pskb_expand_head to inconditionally increase
      the size of the headroom by the amount needed by the SRH (and IPv6 header).
      If this reallocation is performed by another CPU than the one that initially
      allocated the skb, then when the initial CPU kfree the skb, it will enter the
      __slab_free slowpath, impacting performances.
      
      This patch replaces pskb_expand_head with skb_cow_head, that will reallocate the
      skb head only if the headroom is not large enough.
      
      Performances for SRH encapsulation before the patch:
      Result: OK: 7348320(c7347271+d1048) usec, 5000000 (1000byte,0frags)
        680427pps 5443Mb/sec (5443416000bps) errors: 0
      
      Performances after the patch:
      Result: OK: 5656067(c5655678+d388) usec, 5000000 (1000byte,0frags)
        884006pps 7072Mb/sec (7072048000bps) errors: 0
      Signed-off-by: default avatarDavid Lebrun <david.lebrun@uclouvain.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      19d5a26f