{"push_id":721483324,"size":1,"distinct_size":1,"ref":"refs/heads/android-msm-3.4","head":"f1e6d2c40d4b35a789fb388e68ee7a07343089dc","before":"5c84759102c4f6c9e67803fdbfb599a28559251d","commits":[{"sha":"f1e6d2c40d4b35a789fb388e68ee7a07343089dc","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"softirq: reduce latencies\n\nDate\tThu, 03 Jan 2013 23:49:40 -0800\n\nIn various network workloads, __do_softirq() latencies can be up\nto 20 ms if HZ=1000, and 200 ms if HZ=100.\n\nThis is because we iterate 10 times in the softirq dispatcher,\nand some actions can consume a lot of cycles.\n\nThis patch changes the fallback to ksoftirqd condition to :\n\n- A time limit of 2 ms.\n- need_resched() being set on current task\n\nWhen one of this condition is met, we wakeup ksoftirqd for further\nsoftirq processing if we still have pending softirqs.\n\nUsing need_resched() as the only condition can trigger RCU stalls,\nas we can keep BH disabled for too long.\n\nI ran several benchmarks and got no significant difference in\nthroughput, but a very significant reduction of latencies (one order\nof magnitude) :\n\nIn following bench, 200 antagonist \"netperf -t TCP_RR\" are started in\nbackground, using all available cpus.\n\nThen we start one \"netperf -t TCP_RR\", bound to the cpu handling the NIC\nIRQ (hard+soft)\n\nBefore patch :\n\nRT_LATENCY,MIN_LATENCY,MAX_LATENCY,P50_LATENCY,P90_LATENCY,P99_LATENCY,MEAN_LATENCY,STDDEV_LATENCY\nMIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET\nto 7.7.7.84 () port 0 AF_INET : first burst 0 : cpu bind\nRT_LATENCY=550110.424\nMIN_LATENCY=146858\nMAX_LATENCY=997109\nP50_LATENCY=305000\nP90_LATENCY=550000\nP99_LATENCY=710000\nMEAN_LATENCY=376989.12\nSTDDEV_LATENCY=184046.92\nAfter patch :\n\nRT_LATENCY,MIN_LATENCY,MAX_LATENCY,P50_LATENCY,P90_LATENCY,P99_LATENCY,MEAN_LATENCY,STDDEV_LATENCY\nMIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET\nto 7.7.7.84 () port 0 AF_INET : first burst 0 : cpu bind\nRT_LATENCY=40545.492\nMIN_LATENCY=9834\nMAX_LATENCY=78366\nP50_LATENCY=33583\nP90_LATENCY=59000\nP99_LATENCY=69000\nMEAN_LATENCY=38364.67\nSTDDEV_LATENCY=12865.26\n\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nCc: David Miller <davem@davemloft.net>\nCc: Tom Herbert <therbert@google.com>\nCc: Ben Hutchings <bhutchings@solarflare.com>\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/chijure/android_kernel_lge_vee7/commits/f1e6d2c40d4b35a789fb388e68ee7a07343089dc"}]}