Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [RFC PATCH v2] Softirq:avoid large sched delay from the pending softirqs | Date | Wed, 22 Jul 2020 20:05:22 +0200 |
| |
qianjun.kernel@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
| |