1. 06 Mar, 2015 15 commits
    • Eric Dumazet's avatar
      tg3: use napi_complete_done() · 24d2e4a5
      Eric Dumazet authored
      Using napi_complete_done() instead of napi_complete() allows
      us to use /sys/class/net/ethX/gro_flush_timeout
      
      GRO layer can aggregate more packets if the flush is delayed a bit,
      without having to set too big coalescing parameters that impact
      latencies.
      
      Tested:
      
      lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:25 AM      eth1  81290.00  40617.00 120479.67   2777.01      0.00      0.00      0.00
      10:36:26 AM      eth1  81283.00  40608.00 120481.81   2778.13      0.00      0.00      1.00
      10:36:27 AM      eth1  81304.00  40639.00 120518.42   2778.28      0.00      0.00      0.00
      10:36:28 AM      eth1  81255.00  40605.00 120437.34   2775.95      0.00      0.00      1.00
      10:36:29 AM      eth1  81306.00  40630.00 120521.44   2777.70      0.00      0.00      0.00
      10:36:30 AM      eth1  81286.00  40564.00 120480.20   2773.31      0.00      0.00      0.00
      10:36:31 AM      eth1  81256.00  40599.00 120438.81   2776.27      0.00      0.00      0.00
      10:36:32 AM      eth1  81287.00  40594.00 120480.69   2776.69      0.00      0.00      0.00
      10:36:33 AM      eth1  81279.00  40601.00 120478.53   2775.84      0.00      0.00      0.00
      10:36:34 AM      eth1  81277.00  40610.00 120476.94   2776.25      0.00      0.00      0.00
      Average:         eth1  81282.30  40606.70 120479.39   2776.54      0.00      0.00      0.20
      
      lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:43 AM      eth1  81257.00   7747.00 120437.44    530.00      0.00      0.00      0.00
      10:36:44 AM      eth1  81278.00   7748.00 120480.00    529.85      0.00      0.00      0.00
      10:36:45 AM      eth1  81282.00   7752.00 120479.09    531.09      0.00      0.00      0.00
      10:36:46 AM      eth1  81282.00   7751.00 120478.80    530.90      0.00      0.00      0.00
      10:36:47 AM      eth1  81276.00   7745.00 120478.31    529.64      0.00      0.00      0.00
      10:36:48 AM      eth1  81278.00   7747.00 120478.50    529.81      0.00      0.00      0.00
      10:36:49 AM      eth1  81282.00   7749.00 120478.88    530.01      0.00      0.00      0.00
      10:36:50 AM      eth1  81284.00   7751.00 120481.52    530.20      0.00      0.00      0.00
      10:36:51 AM      eth1  81299.00   7769.00 120481.74    533.81      0.00      0.00      0.00
      10:36:52 AM      eth1  81281.00   7748.00 120478.62    529.96      0.00      0.00      0.00
      Average:         eth1  81279.90   7750.70 120475.29    530.53      0.00      0.00      0.00
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      24d2e4a5
    • David S. Miller's avatar
      Merge branch 'dsa-next' · 050f7dcd
      David S. Miller authored
      Florian Fainelli says:
      
      ====================
      net: dsa: code re-organization
      
      This pull request contains the first part of the patches required to implement
      the grand plan detailed here:
      
      http://www.spinics.net/lists/netdev/msg295942.html
      
      These are mostly code re-organization and function bodies re-arrangement to
      allow different callers of lower-level initialization functions for 'struct
      dsa_switch' and 'struct dsa_switch_tree' to be later introduced.
      
      There is no functional code change at this point.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      050f7dcd
    • Florian Fainelli's avatar
      net: dsa: extract dsa switch tree setup and removal · c86e59b9
      Florian Fainelli authored
      Extract the core logic that setups a 'struct dsa_switch_tree' and
      removes it, update dsa_probe() and dsa_remove() to use the two helper
      functions. This will be useful to allow for other callers to setup
      this structure differently.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c86e59b9
    • Florian Fainelli's avatar
      net: dsa: let switches specify their tagging protocol · 59299031
      Florian Fainelli authored
      In order to support the new DSA device driver model, a dsa_switch should
      be able to advertise the type of tagging protocol supported by the
      underlying switch device. This also removes constraints on how tagging
      can be stacked to each other.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59299031
    • Florian Fainelli's avatar
      net: dsa: split dsa_switch_setup into two functions · df197195
      Florian Fainelli authored
      Split the part of dsa_switch_setup() which is responsible for allocating
      and initializing a 'struct dsa_switch' and the part which is doing a
      given switch device setup and slave network device creation.
      
      This is a preliminary change to allow a separate caller of
      dsa_switch_setup_one() which may have externally initialized the
      dsa_switch structure, outside of dsa_switch_setup().
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df197195
    • Florian Fainelli's avatar
      net: dsa: allow deferred probing · b324c07a
      Florian Fainelli authored
      In preparation for allowing a different model to register DSA switches,
      update dsa_of_probe() and dsa_probe() to return -EPROBE_DEFER where
      appropriate.
      
      Failure to find a phandle or Device Tree property is still fatal, but
      looking up the internal device structure associated with a Device Tree
      node is something that might need to be delayed based on driver probe
      ordering.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b324c07a
    • Florian Fainelli's avatar
      net: dsa: update dsa_of_{probe, remove} to use a device pointer · f1a26a06
      Florian Fainelli authored
      In preparation for allowing a different mechanism to register DSA switch
      devices and driver, update dsa_of_probe and dsa_of_remove to take a
      struct device pointer since neither of these two functions uses the
      struct platform_device pointer.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f1a26a06
    • Eric Dumazet's avatar
      inet_diag: remove duplicate code from inet_twsk_diag_dump() · 49612729
      Eric Dumazet authored
      timewait sockets now share a common base with established sockets.
      
      inet_twsk_diag_dump() can use inet_diag_bc_sk() instead of duplicating
      code, granted that inet_diag_bc_sk() does proper userlocks
      initialization.
      
      twsk_build_assert() will catch any future changes that could break
      the assumptions.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49612729
    • Jeff Kirsher's avatar
      i40e: Fix mismatching type for ioremap_len · e815665e
      Jeff Kirsher authored
      As pointed out by Ben Hutchings, ioremap uses unsigned long as
      its parameter type, so we should be using that instead of u32
      or int.
      Reported-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e815665e
    • Erik Hugne's avatar
      tipc: add ip/udp media type · d0f91938
      Erik Hugne authored
      The ip/udp bearer can be configured in a point-to-point
      mode by specifying both local and remote ip/hostname,
      or it can be enabled in multicast mode, where links are
      established to all tipc nodes that have joined the same
      multicast group. The multicast IP address is generated
      based on the TIPC network ID, but can be overridden by
      using another multicast address as remote ip.
      Signed-off-by: default avatarErik Hugne <erik.hugne@ericsson.com>
      Reviewed-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Reviewed-by: default avatarYing Xue <ying.xue@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0f91938
    • Erik Hugne's avatar
      tipc: increase size of tipc discovery messages · 948fa2d1
      Erik Hugne authored
      The payload area following the TIPC discovery message header is an
      opaque area defined by the media. INT_H_SIZE was enough for
      Ethernet/IB/IPv4 but needs to be expanded to carry IPv6 addressing
      information.
      Signed-off-by: default avatarErik Hugne <erik.hugne@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      948fa2d1
    • WANG Cong's avatar
      net_sched: move tp->root allocation into fw_init() · 33f8b9ec
      WANG Cong authored
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      33f8b9ec
    • WANG Cong's avatar
      net_sched: move tp->root allocation into route4_init() · a05c2d11
      WANG Cong authored
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a05c2d11
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 2490c65f
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      This series contains updates to i40e only.
      
      Greg provides fixes for the NPAR transmit scheduler where the driver
      initialization caused the BW configurations to not take effect, so use
      a BW configuration read and write back to "kick" the transmit scheduler
      into action.  Fixes the ethtool offline test, where we were not actually
      taking the device offline before doing the testing.
      
      Matt modifies the get and set LED functions so they ignore activity LEDs
      since we are required to blink the link LEDs only.
      
      Neerav provides a workaround for whenever a DCBX configuration is changed,
      where the firmware doe not set the operational status bit of the
      application TLV status as returned from the "Get CEE DCBX Oper Cfg" admin
      queue command.  So remove the check for the operational and sync bits of
      the application TLV status until a firmware fix is provided.
      
      Shannon changes the driver to grab the NVM devstarter version and not
      the image version, since it is the more useful version and is what
      should be displayed.  Moves the IRQ tracking setup and tear down into
      the same routines that do the IRQ setup and tear down.  This keeps
      like activities together and allows us to track exactly the number
      of vectors reserved from the OS, which may be fewer than are available
      from the hardware.
      
      Jesse provides a fix to use a more portable sign extension by replacing
      0xffff.... with ~(u64)0 or ~(u32)0.  Also fixes XPS mask when resetting,
      where the driver would accidentally clear the XPS mask for all queues
      back to 0.  This caused higher CPU utilization and had some other
      performance impacts for transmit tests.  Cleans up some whitespace
      formatting.
      
      Catherine provides a fix where some firmware versions are incorrectly
      reporting a breakout cable as PHY type 0x3 when it should be 0x16
      (I40E_PHY_TYPE_10GBASE_SFPP_CU).  Adds the 10G and 40G AOC PHY types
      to the case statement in get_media_type and ethtool get_settings so
      that the correct information gets reported back to the user.
      
      Anjali provides IOREMAP changes for future device support, where we
      do not want to map the whole CSR space since some of it is mapped by
      other drivers with different mapping methods.
      
      Mitch changes the i40e driver to not "spam" the system log with
      messages about VF VSI when VFs are created and when they are reset to
      reduce user annoyance.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2490c65f
    • Stephen Rothwell's avatar
      mpls: using vzalloc requires including vmalloc.h · 4b5edb2f
      Stephen Rothwell authored
      Fixes this build error:
      
      net/mpls/af_mpls.c: In function 'resize_platform_label_table':
      net/mpls/af_mpls.c:767:4: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
          labels = vzalloc(size);
          ^
      
      Fixes: 7720c01f ("mpls: Add a sysctl to control the size of the mpls label table")
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b5edb2f
  2. 05 Mar, 2015 25 commits