qianjun.ker...@gmail.com writes: > + > + end = ktime_get(); > + delta = ktime_to_us(end - start);
What's the point of this conversion? That's a division for no value because you can simply define the maximum time in nanoseconds with the same effect, i.e. ktime_t end = ktime_get() + MAX_SOFTIRQ_TIME_NS; if (need_resched() && ktime_get() > end) break; So you can spare all that start, delta and conversion dance and keep the code simple. Also notice that need_resched() wants to be evaluated first because there is no point to do the more expensive time read if need_resched() is false. Thanks, tglx