{"push_id":721369989,"size":7,"distinct_size":7,"ref":"refs/heads/bfs","head":"5ec8a6e07b7637fee23e49cf67fbc8fa21febadb","before":"ee8e21a85520e155ddddc9a70c74ecb51925aeb5","commits":[{"sha":"2a8d8a67edb3d022da44d050f8991013d7460a07","author":{"email":"fd281eb3a98e0440432f3ae47502a8ccd3c03277@taht.net","name":"Dave Taht"},"message":"pkt_sched: Update CAKE to latest\n\nChange-Id: I0b34a093754ce3632449beafe07791c5fc013c5f","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/2a8d8a67edb3d022da44d050f8991013d7460a07"},{"sha":"7400eda65d57af3ac08123c53be55c9ea6aa72b8","author":{"email":"a9b6a4bce80bce0cd1e1fa4ac18ef4cb7c1f9250@ifi.uio.no","name":"Kenneth Klette Jonassen"},"message":"tcp: export tcp_enter_cwr()\n\nUpcoming tcp_cdg uses tcp_enter_cwr() to initiate PRR. Export this\nfunction so that CDG can be compiled as a module.\n\nCc: Eric Dumazet <edumazet@google.com>\nCc: Yuchung Cheng <ycheng@google.com>\nCc: Stephen Hemminger <stephen@networkplumber.org>\nCc: Neal Cardwell <ncardwell@google.com>\nCc: David Hayes <davihay@ifi.uio.no>\nCc: Andreas Petlund <apetlund@simula.no>\nCc: Dave Taht <dave.taht@bufferbloat.net>\nCc: Nicolas Kuhn <nicolas.kuhn@telecom-bretagne.eu>\nSigned-off-by: Kenneth Klette Jonassen <kennetkl@ifi.uio.no>\nAcked-by: Yuchung Cheng <ycheng@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/7400eda65d57af3ac08123c53be55c9ea6aa72b8"},{"sha":"c26f1a290a6aed7d9723689facdfd25c7420a65b","author":{"email":"a9b6a4bce80bce0cd1e1fa4ac18ef4cb7c1f9250@ifi.uio.no","name":"Kenneth Klette Jonassen"},"message":"tcp: add CDG congestion control\n\nCAIA Delay-Gradient (CDG) is a TCP congestion control that modifies\nthe TCP sender in order to [1]:\n\n  o Use the delay gradient as a congestion signal.\n  o Back off with an average probability that is independent of the RTT.\n  o Coexist with flows that use loss-based congestion control, i.e.,\n    flows that are unresponsive to the delay signal.\n  o Tolerate packet loss unrelated to congestion. (Disabled by default.)\n\nIts FreeBSD implementation was presented for the ICCRG in July 2012;\nslides are available at http://www.ietf.org/proceedings/84/iccrg.html\n\nRunning the experiment scenarios in [1] suggests that our implementation\nachieves more goodput compared with FreeBSD 10.0 senders, although it also\ncauses more queueing delay for a given backoff factor.\n\nThe loss tolerance heuristic is disabled by default due to safety concerns\nfor its use in the Internet [2, p. 45-46].\n\nWe use a variant of the Hybrid Slow start algorithm in tcp_cubic to reduce\nthe probability of slow start overshoot.\n\n[1] D.A. Hayes and G. Armitage. \"Revisiting TCP congestion control using\n    delay gradients.\" In Networking 2011, pages 328-341. Springer, 2011.\n[2] K.K. Jonassen. \"Implementing CAIA Delay-Gradient in Linux.\"\n    MSc thesis. Department of Informatics, University of Oslo, 2015.\n\nCc: Eric Dumazet <edumazet@google.com>\nCc: Yuchung Cheng <ycheng@google.com>\nCc: Stephen Hemminger <stephen@networkplumber.org>\nCc: Neal Cardwell <ncardwell@google.com>\nCc: David Hayes <davihay@ifi.uio.no>\nCc: Andreas Petlund <apetlund@simula.no>\nCc: Dave Taht <dave.taht@bufferbloat.net>\nCc: Nicolas Kuhn <nicolas.kuhn@telecom-bretagne.eu>\nSigned-off-by: Kenneth Klette Jonassen <kennetkl@ifi.uio.no>\nAcked-by: Yuchung Cheng <ycheng@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n\nConflicts:\n\tnet/ipv4/Kconfig","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/c26f1a290a6aed7d9723689facdfd25c7420a65b"},{"sha":"dc9a35b5ad5eab415ffb9a0da384d8b6659406c3","author":{"email":"a9b6a4bce80bce0cd1e1fa4ac18ef4cb7c1f9250@ifi.uio.no","name":"Kenneth Klette Jonassen"},"message":"tcp: cdg: use div_u64()\n\nFixes cross-compile to mips.\n\nSigned-off-by: Kenneth Klette Jonassen <kennetkl@ifi.uio.no>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/dc9a35b5ad5eab415ffb9a0da384d8b6659406c3"},{"sha":"e3c78a45c7c35832703a968ed9acf42077dff377","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"tcp: auto corking\n\nWith the introduction of TCP Small Queues, TSO auto sizing, and TCP\npacing, we can implement Automatic Corking in the kernel, to help\napplications doing small write()/sendmsg() to TCP sockets.\n\nIdea is to change tcp_push() to check if the current skb payload is\nunder skb optimal size (a multiple of MSS bytes)\n\nIf under 'size_goal', and at least one packet is still in Qdisc or\nNIC TX queues, set the TCP Small Queue Throttled bit, so that the push\nwill be delayed up to TX completion time.\n\nThis delay might allow the application to coalesce more bytes\nin the skb in following write()/sendmsg()/sendfile() system calls.\n\nThe exact duration of the delay is depending on the dynamics\nof the system, and might be zero if no packet for this flow\nis actually held in Qdisc or NIC TX ring.\n\nUsing FQ/pacing is a way to increase the probability of\nautocorking being triggered.\n\nAdd a new sysctl (/proc/sys/net/ipv4/tcp_autocorking) to control\nthis feature and default it to 1 (enabled)\n\nAdd a new SNMP counter : nstat -a | grep TcpExtTCPAutoCorking\nThis counter is incremented every time we detected skb was under used\nand its flush was deferred.\n\nTested:\n\nInteresting effects when using line buffered commands under ssh.\n\nExcellent performance results in term of cpu usage and total throughput.\n\nlpq83:~# echo 1 >/proc/sys/net/ipv4/tcp_autocorking\nlpq83:~# perf stat ./super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128\n9410.39\n\n Performance counter stats for './super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128':\n\n      35209.439626 task-clock                #    2.901 CPUs utilized\n             2,294 context-switches          #    0.065 K/sec\n               101 CPU-migrations            #    0.003 K/sec\n             4,079 page-faults               #    0.116 K/sec\n    97,923,241,298 cycles                    #    2.781 GHz                     [83.31%]\n    51,832,908,236 stalled-cycles-frontend   #   52.93% frontend cycles idle    [83.30%]\n    25,697,986,603 stalled-cycles-backend    #   26.24% backend  cycles idle    [66.70%]\n   102,225,978,536 instructions              #    1.04  insns per cycle\n                                             #    0.51  stalled cycles per insn [83.38%]\n    18,657,696,819 branches                  #  529.906 M/sec                   [83.29%]\n        91,679,646 branch-misses             #    0.49% of all branches         [83.40%]\n\n      12.136204899 seconds time elapsed\n\nlpq83:~# echo 0 >/proc/sys/net/ipv4/tcp_autocorking\nlpq83:~# perf stat ./super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128\n6624.89\n\n Performance counter stats for './super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128':\n      40045.864494 task-clock                #    3.301 CPUs utilized\n               171 context-switches          #    0.004 K/sec\n                53 CPU-migrations            #    0.001 K/sec\n             4,080 page-faults               #    0.102 K/sec\n   111,340,458,645 cycles                    #    2.780 GHz                     [83.34%]\n    61,778,039,277 stalled-cycles-frontend   #   55.49% frontend cycles idle    [83.31%]\n    29,295,522,759 stalled-cycles-backend    #   26.31% backend  cycles idle    [66.67%]\n   108,654,349,355 instructions              #    0.98  insns per cycle\n                                             #    0.57  stalled cycles per insn [83.34%]\n    19,552,170,748 branches                  #  488.244 M/sec                   [83.34%]\n       157,875,417 branch-misses             #    0.81% of all branches         [83.34%]\n\n      12.130267788 seconds time elapsed\n\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n\nConflicts:\n\tinclude/net/tcp.h\n\tinclude/uapi/linux/snmp.h\n\tnet/ipv4/proc.c\n\tnet/ipv4/tcp.c\n\nChange-Id: I4a39ff886afd1d6159e049f44d5abec6801b0780\n\nConflicts:\n\tnet/ipv4/tcp.c","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/e3c78a45c7c35832703a968ed9acf42077dff377"},{"sha":"eaad614572637701d29feeb4d1b894e47ef35cd4","author":{"email":"a9b6a4bce80bce0cd1e1fa4ac18ef4cb7c1f9250@ifi.uio.no","name":"Kenneth Klette Jonassen"},"message":"tcp: CDG congestion control compatibiity for Linux 3.10\n\nChange-Id: Iec3ea15c09ef7134fe258d31b406e2ea6eae724c","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/eaad614572637701d29feeb4d1b894e47ef35cd4"},{"sha":"5ec8a6e07b7637fee23e49cf67fbc8fa21febadb","author":{"email":"8ea8b6b289c5c67df1876baf01cd5de39db85df3@gmail.com","name":"CPA-Poke"},"message":"LK v2.4.1\n\nChange-Id: I65305878fbce911b8337d8054720e51a5dacfaff","distinct":true,"url":"https://api.github.com/repos/LiquidSmooth-Devices/LiquidKernel-Shamu/commits/5ec8a6e07b7637fee23e49cf67fbc8fa21febadb"}]}