1. 27 Mar, 2017 1 commit
  2. 26 Mar, 2017 10 commits
  3. 25 Mar, 2017 22 commits
  4. 24 Mar, 2017 7 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
    • Geliang Tang's avatar
      net_sched: use setup_deferrable_timer · 3b1af93c
      Geliang Tang authored
      Use setup_deferrable_timer() instead of init_timer_deferrable() to
      simplify the code.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b1af93c
    • David S. Miller's avatar
      Merge branch 'mlxsw-query-resources' · ff41c7fa
      David S. Miller authored
      Jiri Pirko says:
      
      ====================
      mlxsw: Query resources from firmware
      
      Ido says:
      
      Some parts of the driver already use the resource query mechanism, but
      in other parts we still rely on hard coded values that may change over
      time.
      
      This patchset removes most of these remaining values and queries them
      from the firmware instead.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff41c7fa
    • Ido Schimmel's avatar
      mlxsw: spectrum: Query cell size from firmware · 18281f2d
      Ido Schimmel authored
      As explained in the previous patch, the cell size may change in future
      devices, so query it from the firmware instead of hard coding it.
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18281f2d