Messages in this thread | | | Subject | Re: [RFC PATCH v3 0/3] sched: simplify the select_task_rq_fair() | From | Peter Zijlstra <> | Date | Fri, 22 Feb 2013 09:36:37 +0100 |
| |
On Fri, 2013-02-22 at 10:37 +0800, Michael Wang wrote: > But that's really some benefit hardly to be estimate, especially when > the workload is heavy, the cost of wake_affine() is very high to > calculated se one by one, is that worth for some benefit we could not > promise?
Look at something like pipe-test.. wake_affine() used to ensure both client/server ran on the same cpu, but then I think we added select_idle_sibling() and wrecked it again :/
$ taskset 1 perf bench sched pipe # Running sched/pipe benchmark... # Extecuted 1000000 pipe operations between two tasks
Total time: 3.761 [sec]
3.761725 usecs/op 265835 ops/sec
$ perf bench sched pipe # Running sched/pipe benchmark... # Extecuted 1000000 pipe operations between two tasks
Total time: 29.809 [sec]
29.809720 usecs/op 33546 ops/sec
Now as far as I can see there's two options, either we find there's absolutely no benefit in wake_affine() as it stands today and we simply disable/remove it, or we go fix it. What we don't do is completely wreck it at atrocious cost.
| |