Re: [PATCH] bus: arm-ccn: Use hrtimer_start()

Pawel Moll
2015-05-13T15:47:09Z

On Wed, 2015-05-13 at 16:32 +0100, Arnd Bergmann wrote:
> On Wednesday 13 May 2015 16:21:24 Pawel Moll wrote:
> > diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
> > index df5f307..7d9879e 100644
> > --- a/drivers/bus/arm-ccn.c
> > +++ b/drivers/bus/arm-ccn.c
> > @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags)
> > * attribute).
> > */
> > if (!ccn->irq)
> > - __hrtimer_start_range_ns(&ccn->dt.hrtimer,
> > - arm_ccn_pmu_timer_period(), 0,
> > - HRTIMER_MODE_REL_PINNED, 0);
> > + hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(),
> > + HRTIMER_MODE_REL_PINNED);
> >
> > /* Set the DT bus input, engaging the counter */
> > arm_ccn_pmu_xp_dt_config(event, 1);
>
> Is this correct by itself, or do we need to pull in the branch that
> contains c6eb3f70d44828 ("hrtimer: Get rid of hrtimer softirq")
> from Thomas? The other similar patches that Thomas did contain a
> comment about the conversion being safe after hrtimer_start()
> no longer uses a softirq, but it is still in use in 4.1-rc3.

That's why I asked who should carry this patch ;-)

Now, the answer to your question is: the result will not be worse than
the what was there before you pulled my updates, as the code was using
normal hrtimer_start(). It's just when I realised that it should be
pinned I looked at what x86 uncore pmu is doing and shamelessly (and
probably a bit mindlessly) copied the "do not wakeup" version from
there.

Pawel