On 08/22/2014 10:16 PM, Eric Dumazet wrote:
On Fri, 2014-08-22 at 17:08 +0800, Jason Wang wrote:
quoted
quoted
But this is just for current process. We want to determine whether or
not it was worth to loop busily in current process by checking if
there's any another runnable processes or callbacks. And what we need
here is just a simple and lockless hint which can't be wrong but may be
inaccurate to exit the busy loop. The net code does not depends on this
hint to do scheduling or yielding.
How about just introducing a boolean helper like current_can_busy_loop()
and return true in one of the following conditions:
- Current task is SCHED_FIFO
- Current task is neither SCHED_FIFO nor SCHED_IDLE and no other
runnable processes or pending RCU callbacks in current cpu
And add warns to make sure it can only be called in process context.
1) Any reasons Eliezer Tamir is not included in the CC list ?
He is the busypoll author after all, and did nothing wrong to be
banned from these patches ;)
CC Eliezer Tamir
No intentional, I just generate the CC list through get_maintainer.pl :(
2) It looks like sk_buy_loop() should not be inlined, its is already too
big.