{"push_id":901287276,"size":13,"distinct_size":13,"ref":"refs/heads/apophis9283","head":"c690f298817c22fe06d0ee608574f4c1f69161c0","before":"90f1d5bb2b0b2c859e13dbd028bcf4e45573c81c","commits":[{"sha":"7c378b95d2dfc53ee75fe88a43f214f793cfd222","author":{"email":"2433fb5c4d4c2b5f331707f961a8b0eef3be63c7@outlook.com","name":"DespairFactor"},"message":"arm/dt: Raise the bcl drive max voltage threshold to prevent premature throttling","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/7c378b95d2dfc53ee75fe88a43f214f793cfd222"},{"sha":"531591bd9611771464f424fdc0afc7b2eb83f2dc","author":{"email":"d10d94ce41612a5f13ee0adbc05024eaad7da55f@gmail.com","name":"APOPHIS9283"},"message":"Revert \"msm_adreno_tz: Make GPU use lowest idle frequency when no load\"\n\nThis reverts commit c1248941cdccfdda1ca3753fb8554f16f2ac1f7d.","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/531591bd9611771464f424fdc0afc7b2eb83f2dc"},{"sha":"36918d61c5998f56cc18d5cae0f44403ddd55d46","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"pkt_sched: fq: Fair Queue packet scheduler\n\n- Uses perfect flow match (not stochastic hash like SFQ/FQ_codel)\n- Uses the new_flow/old_flow separation from FQ_codel\n- New flows get an initial credit allowing IW10 without added delay.\n- Special FIFO queue for high prio packets (no need for PRIO + FQ)\n- Uses a hash table of RB trees to locate the flows at enqueue() time\n- Smart on demand gc (at enqueue() time, RB tree lookup evicts old\n  unused flows)\n- Dynamic memory allocations.\n- Designed to allow millions of concurrent flows per Qdisc.\n- Small memory footprint : ~8K per Qdisc, and 104 bytes per flow.\n- Single high resolution timer for throttled flows (if any).\n- One RB tree to link throttled flows.\n- Ability to have a max rate per flow. We might add a socket option\n  to add per socket limitation.\n\nAttempts have been made to add TCP pacing in TCP stack, but this\nseems to add complex code to an already complex stack.\n\nTCP pacing is welcomed for flows having idle times, as the cwnd\npermits TCP stack to queue a possibly large number of packets.\n\nThis removes the 'slow start after idle' choice, hitting badly\nlarge BDP flows, and applications delivering chunks of data\nas video streams.\n\nNicely spaced packets :\nHere interface is 10Gbit, but flow bottleneck is ~20Mbit\n\ncwin is big, yet FQ avoids the typical bursts generated by TCP\n(as in netperf TCP_RR -- -r 100000,100000)\n\n15:01:23.545279 IP A > B: . 78193:81089(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.545394 IP B > A: . ack 81089 win 3668 <nop,nop,timestamp 11597985 1115>\n15:01:23.546488 IP A > B: . 81089:83985(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.546565 IP B > A: . ack 83985 win 3668 <nop,nop,timestamp 11597986 1115>\n15:01:23.547713 IP A > B: . 83985:86881(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.547778 IP B > A: . ack 86881 win 3668 <nop,nop,timestamp 11597987 1115>\n15:01:23.548911 IP A > B: . 86881:89777(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.548949 IP B > A: . ack 89777 win 3668 <nop,nop,timestamp 11597988 1115>\n15:01:23.550116 IP A > B: . 89777:92673(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.550182 IP B > A: . ack 92673 win 3668 <nop,nop,timestamp 11597989 1115>\n15:01:23.551333 IP A > B: . 92673:95569(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.551406 IP B > A: . ack 95569 win 3668 <nop,nop,timestamp 11597991 1115>\n15:01:23.552539 IP A > B: . 95569:98465(2896) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.552576 IP B > A: . ack 98465 win 3668 <nop,nop,timestamp 11597992 1115>\n15:01:23.553756 IP A > B: . 98465:99913(1448) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.554138 IP A > B: P 99913:100001(88) ack 65248 win 3125 <nop,nop,timestamp 1115 11597805>\n15:01:23.554204 IP B > A: . ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.554234 IP B > A: . 65248:68144(2896) ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.555620 IP B > A: . 68144:71040(2896) ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.557005 IP B > A: . 71040:73936(2896) ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.558390 IP B > A: . 73936:76832(2896) ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.559773 IP B > A: . 76832:79728(2896) ack 100001 win 3668 <nop,nop,timestamp 11597993 1115>\n15:01:23.561158 IP B > A: . 79728:82624(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.562543 IP B > A: . 82624:85520(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.563928 IP B > A: . 85520:88416(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.565313 IP B > A: . 88416:91312(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.566698 IP B > A: . 91312:94208(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.568083 IP B > A: . 94208:97104(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.569467 IP B > A: . 97104:100000(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.570852 IP B > A: . 100000:102896(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.572237 IP B > A: . 102896:105792(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.573639 IP B > A: . 105792:108688(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.575024 IP B > A: . 108688:111584(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.576408 IP B > A: . 111584:114480(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n15:01:23.577793 IP B > A: . 114480:117376(2896) ack 100001 win 3668 <nop,nop,timestamp 11597994 1115>\n\nTCP timestamps show that most packets from B were queued in the same ms\ntimeframe (TSval 1159799{3,4}), but FQ managed to send them right\nin time to avoid a big burst.\n\nIn slow start or steady state, very few packets are throttled [1]\n\nFQ gets a bunch of tunables as :\n\n  limit : max number of packets on whole Qdisc (default 10000)\n\n  flow_limit : max number of packets per flow (default 100)\n\n  quantum : the credit per RR round (default is 2 MTU)\n\n  initial_quantum : initial credit for new flows (default is 10 MTU)\n\n  maxrate : max per flow rate (default : unlimited)\n\n  buckets : number of RB trees (default : 1024) in hash table.\n               (consumes 8 bytes per bucket)\n\n  [no]pacing : disable/enable pacing (default is enable)\n\nAll of them can be changed on a live qdisc.\n\n$ tc qd add dev eth0 root fq help\nUsage: ... fq [ limit PACKETS ] [ flow_limit PACKETS ]\n              [ quantum BYTES ] [ initial_quantum BYTES ]\n              [ maxrate RATE  ] [ buckets NUMBER ]\n              [ [no]pacing ]\n\n$ tc -s -d qd\nqdisc fq 8002: dev eth0 root refcnt 32 limit 10000p flow_limit 100p buckets 256 quantum 3028 initial_quantum 15140\n Sent 216532416 bytes 148395 pkt (dropped 0, overlimits 0 requeues 14)\n backlog 0b 0p requeues 14\n  511 flows, 511 inactive, 0 throttled\n  110 gc, 0 highprio, 0 retrans, 1143 throttled, 0 flows_plimit\n\n[1] Except if initial srtt is overestimated, as if using\ncached srtt in tcp metrics. We'll provide a fix for this issue.\n\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nCc: Yuchung Cheng <ycheng@google.com>\nCc: Neal Cardwell <ncardwell@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/36918d61c5998f56cc18d5cae0f44403ddd55d46"},{"sha":"3290d43147e4446b04b30bbe3cfa08fe0f21c078","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"pkt_sched: fq: warn users using defrate\n\nCommit 7eec4174ff29 (\"pkt_sched: fq: fix non TCP flows pacing\")\nobsoleted TCA_FQ_FLOW_DEFAULT_RATE without notice for the users.\n\nSuggested by David Miller\n\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n\nConflicts:\n\tnet/sched/sch_fq.c","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/3290d43147e4446b04b30bbe3cfa08fe0f21c078"},{"sha":"00def3616e1bd6eacf204ad30065247ac9bed190","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"pkt_sched: fq: fix pacing for small frames\n\nFor performance reasons, sch_fq tried hard to not setup timers for every\nsent packet, using a quantum based heuristic : A delay is setup only if\nthe flow exhausted its credit.\n\nProblem is that application limited flows can refill their credit\nfor every queued packet, and they can evade pacing.\n\nThis problem can also be triggered when TCP flows use small MSS values,\nas TSO auto sizing builds packets that are smaller than the default fq\nquantum (3028 bytes)\n\nThis patch adds a 40 ms delay to guard flow credit refill.\n\nFixes: afe4fd062416 (\"pkt_sched: fq: Fair Queue packet scheduler\")\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nCc: Maciej Żenczykowski <maze@google.com>\nCc: Willem de Bruijn <willemb@google.com>\nCc: Yuchung Cheng <ycheng@google.com>\nCc: Neal Cardwell <ncardwell@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/00def3616e1bd6eacf204ad30065247ac9bed190"},{"sha":"f0722146038d1a7c3b290f10d1b434c375aa4acd","author":{"email":"82cdb3b5750d3f7e821d851acbf16ef9c8c137a6@google.com","name":"Terry Lam"},"message":"net-qdisc-hhf: Heavy-Hitter Filter (HHF) qdisc\n\nThis patch implements the first size-based qdisc that attempts to\ndifferentiate between small flows and heavy-hitters.  The goal is to\ncatch the heavy-hitters and move them to a separate queue with less\npriority so that bulk traffic does not affect the latency of critical\ntraffic.  Currently \"less priority\" means less weight (2:1 in\nparticular) in a Weighted Deficit Round Robin (WDRR) scheduler.\n\nIn essence, this patch addresses the \"delay-bloat\" problem due to\nbloated buffers. In some systems, large queues may be necessary for\nobtaining CPU efficiency, or due to the presence of unresponsive\ntraffic like UDP, or just a large number of connections with each\nhaving a small amount of outstanding traffic. In these circumstances,\nHHF aims to reduce the HoL blocking for latency sensitive traffic,\nwhile not impacting the queues built up by bulk traffic.  HHF can also\nbe used in conjunction with other AQM mechanisms such as CoDel.\n\nTo capture heavy-hitters, we implement the \"multi-stage filter\" design\nin the following paper:\nC. Estan and G. Varghese, \"New Directions in Traffic Measurement and\nAccounting\", in ACM SIGCOMM, 2002.\n\nSome configurable qdisc settings through 'tc':\n- hhf_reset_timeout: period to reset counter values in the multi-stage\n                     filter (default 40ms)\n- hhf_admit_bytes:   threshold to classify heavy-hitters\n                     (default 128KB)\n- hhf_evict_timeout: threshold to evict idle heavy-hitters\n                     (default 1s)\n- hhf_non_hh_weight: Weighted Deficit Round Robin (WDRR) weight for\n                     non-heavy-hitters (default 2)\n- hh_flows_limit:    max number of heavy-hitter flow entries\n                     (default 2048)\n\nNote that the ratio between hhf_admit_bytes and hhf_reset_timeout\nreflects the bandwidth of heavy-hitters that we attempt to capture\n(25Mbps with the above default settings).\n\nThe false negative rate (heavy-hitter flows getting away unclassified)\nis zero by the design of the multi-stage filter algorithm.\nWith 100 heavy-hitter flows, using four hashes and 4000 counters yields\na false positive rate (non-heavy-hitters mistakenly classified as\nheavy-hitters) of less than 1e-4.\n\nSigned-off-by: Terry Lam <vtlam@google.com>\nAcked-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/f0722146038d1a7c3b290f10d1b434c375aa4acd"},{"sha":"2865de585cebc1deadf7041523af0ac77823dcd4","author":{"email":"79c8a2c3c5e2808fbc2ccc5e17cff297ef33fe87@cisco.com","name":"Vijay Subramanian"},"message":"net: pkt_sched: PIE AQM scheme\n\nProportional Integral controller Enhanced (PIE) is a scheduler to address the\nbufferbloat problem.\n\n>From the IETF draft below:\n\" Bufferbloat is a phenomenon where excess buffers in the network cause high\nlatency and jitter. As more and more interactive applications (e.g. voice over\nIP, real time video streaming and financial transactions) run in the Internet,\nhigh latency and jitter degrade application performance. There is a pressing\nneed to design intelligent queue management schemes that can control latency and\njitter; and hence provide desirable quality of service to users.\n\nWe present here a lightweight design, PIE(Proportional Integral controller\nEnhanced) that can effectively control the average queueing latency to a target\nvalue. Simulation results, theoretical analysis and Linux testbed results have\nshown that PIE can ensure low latency and achieve high link utilization under\nvarious congestion situations. The design does not require per-packet\ntimestamp, so it incurs very small overhead and is simple enough to implement\nin both hardware and software.  \"\n\nMany thanks to Dave Taht for extensive feedback, reviews, testing and\nsuggestions. Thanks also to Stephen Hemminger and Eric Dumazet for reviews and\nsuggestions.  Naeem Khademi and Dave Taht independently contributed to ECN\nsupport.\n\nFor more information, please see technical paper about PIE in the IEEE\nConference on High Performance Switching and Routing 2013. A copy of the paper\ncan be found at ftp://ftpeng.cisco.com/pie/.\n\nPlease also refer to the IETF draft submission at\nhttp://tools.ietf.org/html/draft-pan-tsvwg-pie-00\n\nAll relevant code, documents and test scripts and results can be found at\nftp://ftpeng.cisco.com/pie/.\n\nFor problems with the iproute2/tc or Linux kernel code, please contact Vijay\nSubramanian (vijaynsu@cisco.com or subramanian.vijay@gmail.com) Mythili Prabhu\n(mysuryan@cisco.com)\n\nSigned-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>\nSigned-off-by: Mythili Prabhu <mysuryan@cisco.com>\nCC: Dave Taht <dave.taht@bufferbloat.net>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/2865de585cebc1deadf7041523af0ac77823dcd4"},{"sha":"a1048ae74cde142880221e4978e3de008abe2bef","author":{"email":"2433fb5c4d4c2b5f331707f961a8b0eef3be63c7@outlook.com","name":"DespairFactor"},"message":"net: pkt_sched: introduce CAKE packet scheduler for 3.10\n\nSigned-off-by: DespairFactor <matthewalex@outlook.com>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/a1048ae74cde142880221e4978e3de008abe2bef"},{"sha":"9cf2732d78ffec81cc84b6aa47969ba5e81427bd","author":{"email":"2433fb5c4d4c2b5f331707f961a8b0eef3be63c7@outlook.com","name":"DespairFactor"},"message":" sch_cake.c: Add overhead compensation, minor optimisation on existing atm cell compensation.\nFrom: https://github.com/dtaht/sch_cake/commit/65ed9862de734796c7b1a79b3ac9253e01040440","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/9cf2732d78ffec81cc84b6aa47969ba5e81427bd"},{"sha":"5f065b0b9164fbd0183180540bce53493c6b8596","author":{"email":"2433fb5c4d4c2b5f331707f961a8b0eef3be63c7@outlook.com","name":"DespairFactor"},"message":"net/sched: FQ PIE AQM import","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/5f065b0b9164fbd0183180540bce53493c6b8596"},{"sha":"28e6d00c091413f0ce442f530eae444a58452d5d","author":{"email":"2433fb5c4d4c2b5f331707f961a8b0eef3be63c7@outlook.com","name":"DespairFactor"},"message":"pkt_sched: Update CAKE to be inline with the newest from Dave Taht's repo\n\nSigned-off-by: DespairFactor <matthewalex@outlook.com>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/28e6d00c091413f0ce442f530eae444a58452d5d"},{"sha":"a3cbe2eac5379ea018255edaf5a026800c041a6e","author":{"email":"f34fa9a6ed7f70238faacc0289802dd5d831b64e@fb.com","name":"Calvin Owens"},"message":"tcp: Restore RFC5961-compliant behavior for SYN packets\n\nCommit c3ae62af8e755 (\"tcp: should drop incoming frames without ACK\nflag set\") was created to mitigate a security vulnerability in which a\nlocal attacker is able to inject data into locally-opened sockets by\nusing TCP protocol statistics in procfs to quickly find the correct\nsequence number.\n\nThis broke the RFC5961 requirement to send a challenge ACK in response\nto spurious RST packets, which was subsequently fixed by commit\n7b514a886ba50 (\"tcp: accept RST without ACK flag\").\n\nUnfortunately, the RFC5961 requirement that spurious SYN packets be\nhandled in a similar manner remains broken.\n\nRFC5961 section 4 states that:\n\n   ... the handling of the SYN in the synchronized state SHOULD be\n   performed as follows:\n\n   1) If the SYN bit is set, irrespective of the sequence number, TCP\n      MUST send an ACK (also referred to as challenge ACK) to the remote\n      peer:\n\n      <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>\n\n      After sending the acknowledgment, TCP MUST drop the unacceptable\n      segment and stop processing further.\n\n   By sending an ACK, the remote peer is challenged to confirm the loss\n   of the previous connection and the request to start a new connection.\n   A legitimate peer, after restart, would not have a TCB in the\n   synchronized state.  Thus, when the ACK arrives, the peer should send\n   a RST segment back with the sequence number derived from the ACK\n   field that caused the RST.\n\n   This RST will confirm that the remote peer has indeed closed the\n   previous connection.  Upon receipt of a valid RST, the local TCP\n   endpoint MUST terminate its connection.  The local TCP endpoint\n   should then rely on SYN retransmission from the remote end to\n   re-establish the connection.\n\nThis patch lets SYN packets through the discard added in c3ae62af8e755,\nso that spurious SYN packets are properly dealt with as per the RFC.\n\nThe challenge ACK is sent unconditionally and is rate-limited, so the\noriginal vulnerability is not reintroduced by this patch.\n\nSigned-off-by: Calvin Owens <calvinowens@fb.com>\nAcked-by: Eric Dumazet <edumazet@google.com>\nAcked-by: Neal Cardwell <ncardwell@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Ravikumar Vembu <a18394@motorola.com>\nChange-Id: Ifb286ad548908c1b59783860163773df6f0f3670\nReviewed-on: http://gerrit.mot.com/693006\nSubmit-Approved: Jira Key <jirakey@motorola.com>\nTested-by: Jira Key <jirakey@motorola.com>\nSLTApproved: Slta Waiver <sltawvr@motorola.com>\nReviewed-by: Ravikumar Vembu <raviv@motorola.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/a3cbe2eac5379ea018255edaf5a026800c041a6e"},{"sha":"c690f298817c22fe06d0ee608574f4c1f69161c0","author":{"email":"f716b4e7fb105b3b5ce1d7f1d4213769d3b27187@codeaurora.org","name":"Lucille Sylvester"},"message":"msm: kgsl: Bump the GPU frequency for long blocks of processing\n\nIf there are several frames of full GPU utilization immediately\nbump the frequency to turbo rather than waiting for the DCVS\nalgorithm to run.\n\nChange-Id: I1215225f8903a8656e8ad92c6c82567b86665933\nSigned-off-by: Lucille Sylvester <lsylvest@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/team-vortex/Singularity/commits/c690f298817c22fe06d0ee608574f4c1f69161c0"}]}