Re: [PATCH v4 00/36] hrtimer: Provide softirq context hrtimers

From: Ingo Molnar
Date: Mon Jan 15 2018 - 21:04:08 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

> No serious changes intended, but please double check the end result once I've
> pushed it out after local testing.

I made the fix below for the !NO_HZ_COMMON || !HIGH_RES_TIMERS case, which would
fail with a build failure due to non-available __hrtimer_next_event_base().

These functions won't get called, so the fix I picked was to make the code
unconditionally available.

That's the model I'd encourage going forward: we should reduce the !hrtimer and
hrtimer differences, in fact we should eventually implement !hrtimers as a
compatibility mode of the hrtimers code, with no separate #ifdeffery.

Thanks,

Ingo

diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 5bd0fe9b6402..ba4674e9adc2 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -487,7 +487,6 @@ __next_base(struct hrtimer_cpu_base *cpu_base, unsigned int *active)
#define for_each_active_base(base, cpu_base, active) \
while ((base = __next_base((cpu_base), &(active))))

-#if defined(CONFIG_NO_HZ_COMMON) || defined(CONFIG_HIGH_RES_TIMERS)
static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
unsigned int active,
ktime_t expires_next)
@@ -539,7 +538,6 @@ static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base,

return expires_next;
}
-#endif

static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)
{