Skip to content
  1. Oct 18, 2014
  2. Oct 17, 2014
  3. Oct 16, 2014
  4. Oct 15, 2014
    • Giuseppe CAVALLARO's avatar
      stmmac: fix sti compatibililies · 71ae8f52
      Giuseppe CAVALLARO authored
      
      
      this patch is to fix the stmmac data compatibilities for
      all the SoCs inside the platform file.
      
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      71ae8f52
    • David S. Miller's avatar
      Merge branch 'cxgb4' · 2ef1e9ef
      David S. Miller authored
      
      
      Anish Bhatt says:
      
      ====================
      ipv6 and related cleanup for cxgb4/cxgb4i
      
      This patch set removes some duplicated/extraneous code from cxgb4i, guards
      cxgb4 against compilation failure based on ipv6 tristate, make ipv6 related
      code no longer be enabled by default irrespective of ipv6 tristate and fixes
      a refcnt issue.
      -Anish
      
      v2 : Provide more detailed commit messages, make subject more concise as
      recommended by Dave Miller.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2ef1e9ef
    • Anish Bhatt's avatar
      cxgb4i: Remove duplicate call to dst_neigh_lookup() · c5bbcb58
      Anish Bhatt authored
      
      
      There is an extra call to dst_neigh_lookup() leftover in cxgb4i that can cause
      an unreleased refcnt issue. Remove extraneous call.
      
      Signed-off-by: default avatarAnish Bhatt <anish@chelsio.com>
      
      Fixes : 759a0cc5
      
       ('cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api')
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5bbcb58
    • Anish Bhatt's avatar
      cxgb4i : Fix -Wunused-function warning · f42bb57c
      Anish Bhatt authored
      
      
      A bunch of ipv6 related code is left on by default. While this causes no
      compilation issues, there is no need to have this enabled by default. Guard
      with an ipv6 check, which also takes care of a -Wunused-function warning.
      
      Signed-off-by: default avatarAnish Bhatt <anish@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f42bb57c
    • Anish Bhatt's avatar
      cxgb4 : Fix build failure in cxgb4 when ipv6 is disabled/not in-built · 1bb60376
      Anish Bhatt authored
      
      
      cxgb4 ipv6 does not guard against ipv6 being disabled, or the standard
      ipv6 module vs inbuilt tri-state issue. This was fixed for cxgb4i & iw_cxgb4
      but missed for cxgb4.
      
      Signed-off-by: default avatarAnish Bhatt <anish@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1bb60376
    • Anish Bhatt's avatar
      cxgb4i : Remove duplicated CLIP handling code · 587ddfe2
      Anish Bhatt authored
      
      
      cxgb4 already handles CLIP updates from a previous changeset for iw_cxgb4,
      there is no need to have this functionality in cxgb4i. Remove duplicated code
      
      Signed-off-by: default avatarAnish Bhatt <anish@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      587ddfe2
    • Eric Dumazet's avatar
      tcp: TCP Small Queues and strange attractors · 9b462d02
      Eric Dumazet authored
      
      
      TCP Small queues tries to keep number of packets in qdisc
      as small as possible, and depends on a tasklet to feed following
      packets at TX completion time.
      Choice of tasklet was driven by latencies requirements.
      
      Then, TCP stack tries to avoid reorders, by locking flows with
      outstanding packets in qdisc in a given TX queue.
      
      What can happen is that many flows get attracted by a low performing
      TX queue, and cpu servicing TX completion has to feed packets for all of
      them, making this cpu 100% busy in softirq mode.
      
      This became particularly visible with latest skb->xmit_more support
      
      Strategy adopted in this patch is to detect when tcp_wfree() is called
      from ksoftirqd and let the outstanding queue for this flow being drained
      before feeding additional packets, so that skb->ooo_okay can be set
      to allow select_queue() to select the optimal queue :
      
      Incoming ACKS are normally handled by different cpus, so this patch
      gives more chance for these cpus to take over the burden of feeding
      qdisc with future packets.
      
      Tested:
      
      lpaa23:~# ./super_netperf 1400 --google-pacing-rate 3028000 -H lpaa24 -l 3600 &
      
      lpaa23:~# sar -n DEV 1 10 | grep eth1
      06:16:18 AM      eth1 595448.00 1190564.00  38381.09 1760253.12      0.00      0.00      1.00
      06:16:19 AM      eth1 594858.00 1189686.00  38340.76 1758952.72      0.00      0.00      0.00
      06:16:20 AM      eth1 597017.00 1194019.00  38480.79 1765370.29      0.00      0.00      1.00
      06:16:21 AM      eth1 595450.00 1190936.00  38380.19 1760805.05      0.00      0.00      0.00
      06:16:22 AM      eth1 596385.00 1193096.00  38442.56 1763976.29      0.00      0.00      1.00
      06:16:23 AM      eth1 598155.00 1195978.00  38552.97 1768264.60      0.00      0.00      0.00
      06:16:24 AM      eth1 594405.00 1188643.00  38312.57 1757414.89      0.00      0.00      1.00
      06:16:25 AM      eth1 593366.00 1187154.00  38252.16 1755195.83      0.00      0.00      0.00
      06:16:26 AM      eth1 593188.00 1186118.00  38232.88 1753682.57      0.00      0.00      1.00
      06:16:27 AM      eth1 596301.00 1192241.00  38440.94 1762733.09      0.00      0.00      0.00
      Average:         eth1 595457.30 1190843.50  38381.69 1760664.84      0.00      0.00      0.50
      lpaa23:~# ./tc -s -d qd sh dev eth1 | grep backlog
       backlog 7606336b 2513p requeues 167982
       backlog 224072b 74p requeues 566
       backlog 581376b 192p requeues 5598
       backlog 181680b 60p requeues 1070
       backlog 5305056b 1753p requeues 110166    // Here, this TX queue is attracting flows
       backlog 157456b 52p requeues 1758
       backlog 672216b 222p requeues 3025
       backlog 60560b 20p requeues 24541
       backlog 448144b 148p requeues 21258
      
      lpaa23:~# echo 1 >/proc/sys/net/ipv4/tcp_tsq_enable_tcp_wfree_ksoftirqd_detect
      
      Immediate jump to full bandwidth, and traffic is properly
      shard on all tx queues.
      
      lpaa23:~# sar -n DEV 1 10 | grep eth1
      06:16:46 AM      eth1 1397632.00 2795397.00  90081.87 4133031.26      0.00      0.00      1.00
      06:16:47 AM      eth1 1396874.00 2793614.00  90032.99 4130385.46      0.00      0.00      0.00
      06:16:48 AM      eth1 1395842.00 2791600.00  89966.46 4127409.67      0.00      0.00      1.00
      06:16:49 AM      eth1 1395528.00 2791017.00  89946.17 4126551.24      0.00      0.00      0.00
      06:16:50 AM      eth1 1397891.00 2795716.00  90098.74 4133497.39      0.00      0.00      1.00
      06:16:51 AM      eth1 1394951.00 2789984.00  89908.96 4125022.51      0.00      0.00      0.00
      06:16:52 AM      eth1 1394608.00 2789190.00  89886.90 4123851.36      0.00      0.00      1.00
      06:16:53 AM      eth1 1395314.00 2790653.00  89934.33 4125983.09      0.00      0.00      0.00
      06:16:54 AM      eth1 1396115.00 2792276.00  89984.25 4128411.21      0.00      0.00      1.00
      06:16:55 AM      eth1 1396829.00 2793523.00  90030.19 4130250.28      0.00      0.00      0.00
      Average:         eth1 1396158.40 2792297.00  89987.09 4128439.35      0.00      0.00      0.50
      
      lpaa23:~# tc -s -d qd sh dev eth1 | grep backlog
       backlog 7900052b 2609p requeues 173287
       backlog 878120b 290p requeues 589
       backlog 1068884b 354p requeues 5621
       backlog 996212b 329p requeues 1088
       backlog 984100b 325p requeues 115316
       backlog 956848b 316p requeues 1781
       backlog 1080996b 357p requeues 3047
       backlog 975016b 322p requeues 24571
       backlog 990156b 327p requeues 21274
      
      (All 8 TX queues get a fair share of the traffic)
      
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b462d02
    • David S. Miller's avatar
      Merge branch 'qlcnic' · 82b009f9
      David S. Miller authored
      
      
      Rajesh Borundia says:
      
      ====================
      qlcnic: Bug fixes
      
      This series fixes following issues.
      
      * We were programming maximum number of arguments supported by
        adapter instead of required in a command.
      * Destroy tx command requires three arguments instead of two.
      
      Please apply these patches to net.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82b009f9
    • Rajesh Borundia's avatar
      qlcnic: Fix number of arguments in destroy tx context command · d47d2fdd
      Rajesh Borundia authored
      
      
      o Number of arguments taken by destroy tx command is three
        instead of two.
      
      Signed-off-by: default avatarRajesh Borundia <rajesh.borundia@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d47d2fdd
    • Rajesh Borundia's avatar
      qlcnic: Fix programming number of arguments in a command. · 2a1ef4b5
      Rajesh Borundia authored
      
      
      o Initially we were programming maximum number of arguments.
        Instead we should program number of arguments required in
        a command.
      o Maximum number of arguments for 82xx adapter is four. Fix it
        for GET_ESWITCH_STATS command.
      
      Signed-off-by: default avatarRajesh Borundia <rajesh.borundia@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a1ef4b5
    • Mark Rustad's avatar
      genl_magic: Resolve logical-op warnings · db404b13
      Mark Rustad authored
      
      
      Resolve "logical 'and' applied to non-boolean constant" warnings"
      that appear in W=2 builds by adding !! to a bit test.
      
      Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db404b13
    • David S. Miller's avatar
      net: Trap attempts to call sock_kfree_s() with a NULL pointer. · e53da5fb
      David S. Miller authored
      
      
      Unlike normal kfree() it is never right to call sock_kfree_s() with
      a NULL pointer, because sock_kfree_s() also has the side effect of
      discharging the memory from the sockets quota.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e53da5fb
    • Cong Wang's avatar
      rds: avoid calling sock_kfree_s() on allocation failure · dee49f20
      Cong Wang authored
      
      
      It is okay to free a NULL pointer but not okay to mischarge the socket optmem
      accounting. Compile test only.
      
      Reported-by: default avatar <rucsoftsec@gmail.com>
      Cc: Chien Yen <chien.yen@oracle.com>
      Cc: Stephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarCong Wang <cwang@twopensource.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dee49f20
    • Hariprasad Shenai's avatar
      cxgb4: Fix FW flash logic using ethtool · 22c0b963
      Hariprasad Shenai authored
      
      
      Use t4_fw_upgrade instead of t4_load_fw to write firmware into FLASH, since
      t4_load_fw doesn't co-ordinate with the firmware and the adapter can get hosed
      enough to require a power cycle of the system.
      
      Based on original work by Casey Leedom <leedom@chelsio.com>
      
      Signed-off-by: default avatarHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      22c0b963
    • David S. Miller's avatar
      Merge branch 'stmmac' · 6e36145d
      David S. Miller authored
      
      
      Giuseppe Cavallaro says:
      
      ====================
      stmmac: review and fix the dwmac-sti glue-logic
      
      This patch is to review the whole glue logic adopted on STi SoCs that
      was bugged.
      In the old glue-logic there was a lot of confusion when setup the
      retiming especially for STiD127 where, for example, the bits 6 and 7
      (in the GMAC  control register) have a different meaning of what is
      used for STiH4xx SoCs. So we cannot adopt the same glue for all these
      SoCs.
      Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII
      couldn't run when the speed was 10Mbps (because the clock was not properly
      managed).
      Note that the phy clock needs to be provided by the platform as well as
      documented in the related binding file (updated as consequence).
      
      The old code supported too many configurations never adopted and validated.
      This made the code very complex to maintain and debug in case of issues.
      
      The patch simplifies all the configurations as commented in the tables
      inside the file and obviously it has been tested on all the boards
      based on the SoCs mentioned.
      
      With this patch, the dwmac-sti is also ready to support new configurations that
      will be available on next SoC generations.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e36145d
    • Giuseppe CAVALLARO's avatar
      stmmac: dwmac-sti: review the glue-logic for STi4xx and STiD127 SoCs · 53b26b9b
      Giuseppe CAVALLARO authored
      
      
      This patch is to review the whole glue logic adopted on STi SoCs that
      was bugged.
      
      In the old glue-logic there was a lot of confusion when setup the
      retiming especially for STiD127 where, for example, the bits 6 and 7
      (in the GMAC  control register) have a different meaning of what is
      used for STiH4xx SoCs. So we cannot adopt the same glue for all these
      SoCs.
      Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII
      couldn't run when the speed was 10Mbps (because the clock was not properly
      managed).
      Note that the phy clock needs to be provided by the platform as well as
      documented in the related binding file (updated as consequence).
      
      The old code supported too many configurations never adopted and validated.
      This made the code very complex to maintain and debug in case of issues.
      
      The patch simplifies all the configurations as commented in the tables
      inside the file and obviously it has been tested on all the boards
      based on the SoCs mentioned.
      
      With this patch, the dwmac-sti is also ready to support new configurations that
      will be available on next SoC generations.
      
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53b26b9b
    • Giuseppe CAVALLARO's avatar
      stmmac: make the STi Layer compatible to STiH407 · 160e1fd1
      Giuseppe CAVALLARO authored
      
      
      This adds the missing compatibility to the STiH407 SoC.
      
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      160e1fd1
    • Giuseppe CAVALLARO's avatar
      stmmac: platform: fix FIXED_PHY support. · 8c2a7a5d
      Giuseppe CAVALLARO authored
      
      
      On several STi platforms: e.g. stihxxx-b2120 an Ethernet switch is
      embedded and connected to the stmmac via RGMII mode. So this is managed
      by using the FIXED_PHY. In that case, the support in the platform needs
      to be fixed to allow the stmmac to dialog with the switch via fixed-link
      by using phy_bus_name property.
      
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c2a7a5d
    • Guenter Roeck's avatar
      dsa: mv88e6171: Fix tag_protocol check · 77b3a4dc
      Guenter Roeck authored
      
      
      tag_protocol is now an enum, so drivers have to check against it.
      
      Cc: Andrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      77b3a4dc