On 09/02/2014 02:12 PM, Peter Zijlstra wrote: > On Tue, Sep 02, 2014 at 11:38:40AM +0800, Jason Wang wrote: >> > I see, how about just exporting a boolean helper like >> > current_can_busy_loop() and take care all of the conditions (pending bhs >> > and rcu callbacks, runnable processes) in scheduler code itself? > How is that going to help the cases that are hurt by not spinning for a > packet?
The patch does not help for this case. Spinning in the case only help for a single process but hurt all others. Those other processes may not use busy polling or even non network related. Spinning still may give somewhat a high priority to the process who use busy polling or reading which is unfair. And how much we can gain for only a single process by spinning still when several other tasks could be done is still questionable. It's quite possible that we could only get one or zero packet after wasting lots of the cpu cycles when there are thousands or more sockets. -- 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/