Re: [RFC PATCH v2] Softirq:avoid large sched delay from the pending softirqs

From: jun qian
Date: Thu Jul 23 2020 - 00:48:37 EST


On Thu, Jul 23, 2020 at 2:05 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> qianjun.kernel@xxxxxxxxx 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.
good suggestionïThanks

I will make changes in the next version
>
> Thanks,
>
> tglx