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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/