public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Pawel Moll <pawel.moll@arm.com>,
	"linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
	"kernel-build-reports@lists.linaro.org"
	<kernel-build-reports@lists.linaro.org>,
	"arm@kernel.org" <arm@kernel.org>,
	"linux-next@vger.kernel.org" <linux-next@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] bus: arm-ccn: Use hrtimer_start()
Date: Wed, 13 May 2015 18:19:06 +0200	[thread overview]
Message-ID: <2471873.V16atfgj9f@wuerfel> (raw)
In-Reply-To: <1431532027.3285.107.camel@arm.com>

On Wednesday 13 May 2015 16:47:07 Pawel Moll wrote:
> 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.

Ok, got it. I've rewritten the commit message now to reflect this,
and have applied your patch on top of the next/drivers branch.

Thanks a lot for the fast roundtrip in fixing it. Hopefully, tomorrow's
linux-next works better now.

	Arnd

commit a78a3c8ef715b94de3ab27633866d4bde3e2226f
Author: Pawel Moll <pawel.moll@arm.com>
Date:   Wed May 13 16:21:24 2015 +0100

    bus: arm-ccn: Use hrtimer_start() again
    
    hrtimer_start() will no longer defer already expired timers to the
    softirq in 4.2, and the __hrtimer_start_range_ns() function is
    getting removed, causing build errors when both the tip tree and
    the arm-ccn changes are merged.
    
    This changes the code back to using hrtimer_start, which will
    do the right thing after this branch gets merged with the
    timers update from tip.
    
    As pointed out after a discussion on the mailing list, 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.
    
    Reported-by: Mark Brown <mark.brown@arm.com>
    Signed-off-by: Pawel Moll <pawel.moll@arm.com>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
index df5f307f3244..7d9879e166cf 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);

      reply	other threads:[~2015-05-13 16:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13 11:34 next-20150513 build: 2 failures 47 warnings (next-20150513) Build bot for Mark Brown
2015-05-13 14:51 ` Build failures in -next due to use of __hrtimer_start_range_ns arm-ccn.c Mark Brown
2015-05-13 15:08   ` Pawel Moll
2015-05-13 15:13     ` Thomas Gleixner
2015-05-13 15:21       ` [PATCH] bus: arm-ccn: Use hrtimer_start() Pawel Moll
2015-05-13 15:32         ` Arnd Bergmann
2015-05-13 15:47           ` Pawel Moll
2015-05-13 16:19             ` Arnd Bergmann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2471873.V16atfgj9f@wuerfel \
    --to=arnd@arndb.de \
    --cc=arm@kernel.org \
    --cc=kernel-build-reports@lists.linaro.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-next@vger.kernel.org \
    --cc=pawel.moll@arm.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox