hrtimer: optimize the softirq time optimization
The previous optimization did not take the case into account where a clock provides its own softirq_get_time() function. Check for the availablitiy of the clock get time function first and then check if we need to retrieve the time for both clocks via hrtimer_softirq_gettime() to avoid a double evaluation of time in that case as well. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
833883d9ac
commit
259aae864c
|
@ -1254,14 +1254,13 @@ void hrtimer_run_queues(void)
|
|||
if (!base->first)
|
||||
continue;
|
||||
|
||||
if (gettime) {
|
||||
if (base->get_softirq_time)
|
||||
base->softirq_time = base->get_softirq_time();
|
||||
else if (gettime) {
|
||||
hrtimer_get_softirq_time(cpu_base);
|
||||
gettime = 0;
|
||||
}
|
||||
|
||||
if (base->get_softirq_time)
|
||||
base->softirq_time = base->get_softirq_time();
|
||||
|
||||
spin_lock(&cpu_base->lock);
|
||||
|
||||
while ((node = base->first)) {
|
||||
|
|
Loading…
Reference in New Issue