[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87eep32zod.fsf@nanos.tec.linutronix.de>
Date: Wed, 22 Jul 2020 20:05:22 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: qianjun.kernel@...il.com, peterz@...radead.org, will@...nel.org,
luto@...nel.org, linux-kernel@...r.kernel.org, urezki@...il.com
Cc: laoar.shao@...il.com, jun qian <qianjun.kernel@...il.com>
Subject: Re: [RFC PATCH v2] Softirq:avoid large sched delay from the pending softirqs
qianjun.kernel@...il.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
Powered by blists - more mailing lists