From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Magnus Damm <magnus.damm@gmail.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
SH-Linux <linux-sh@vger.kernel.org>,
"Simon Horman [Horms]" <horms@verge.net.au>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
Date: Wed, 17 Dec 2014 00:43:42 +0000 [thread overview]
Message-ID: <3231701.Zbfs8c4b3F@avalon> (raw)
In-Reply-To: <CANqRtoTpSadrrpeBxA-ym4MZBfhY_BEyTPr_sfau8dZGCKttOQ@mail.gmail.com>
Hi Magnus,
On Tuesday 16 December 2014 20:46:33 Magnus Damm wrote:
> On Tue, Dec 16, 2014 at 8:20 PM, Laurent Pinchart wrote:
> > On Tuesday 16 December 2014 12:14:40 Daniel Lezcano wrote:
> >> On 12/16/2014 10:48 AM, Magnus Damm wrote:
> >> > From: Magnus Damm <damm+renesas@opensource.se>
> >> >
> >> > Update the TMU driver to use cpu_possible_mask as cpumask to make
> >> > r8a7779 SMP work as expected with or without the ARM TWD timer.
> >> >
> >> > Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> >>
> >> Applied as a 3.18 fix.
> >
> > You're a bit too fast, I haven't had time to review the patch yet.
> >
> >> ps: May I suggest to use the CLOCK_EVT_FEAT_DYNIRQ flag for this driver ?
> >>
> >> > ---
> >> >
> >> > drivers/clocksource/sh_tmu.c | 2 +-
> >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > --- 0001/drivers/clocksource/sh_tmu.c
> >> > +++ work/drivers/clocksource/sh_tmu.c 2014-12-16
> >> > 17:49:49.000000000 +0900 @@ -428,7 +428,7 @@ static void
> >> > sh_tmu_register_clockevent(s
> >> > ced->features = CLOCK_EVT_FEAT_PERIODIC;
> >> > ced->features |= CLOCK_EVT_FEAT_ONESHOT;
> >> > ced->rating = 200;
> >> > - ced->cpumask = cpumask_of(0);
> >> > + ced->cpumask = cpu_possible_mask;
> >
> > Magnus, how thoroughly have you tested this ? The TMU is indeed usable by
> > all CPUs, so setting the CPU mask to cpu_possible_mask makes sense, but
> > last time I've tried that it broke the broadcast timer due to the
> > heuristics used by the clock events core code.
>
> Uhm, so I've tested this particular patch on r8a7779 but I do agree
> that the TMU is used on a bunch of SoCs if that's what you mean. I
> don't see how it is different from any other of our timers though, and
> those got fixed like this earlier.
>
> I wonder if you may recall an earlier issue with incorrect clock event
> priorities and code somehow working-by-accident without the mask set
> as expected?
As discussed privately today, I've had this exact same patch in one of my
private branches, and I haven't pushed it upstream at the same time as the
similar cmt and mtu2 patches due to a regression. Unfortunately I don't
remember the details :-/
I'll test the patch on Marzen and KZM9G. I unfortunately can't test it on
Armadillo as I don't have access to that board anymore.
> > Could you please confirm that you've tested both CONFIG_PREEMPT_NONE and
> > CONFIG_PREEMPT with and without the ARM TWD times, and that you've booted
> > to userspace and tested timer broadcast on all CPUs ?
>
> No I have not. I've booted to user space in initramfs with DT-based
> TWD on Multiplatform for r8a7779. Without this fix (and other r8a7779
> TWD bits) I see a lot of breakage. For instance, TWD and SMP boot is
> broken on r8a7779 - both legacy and non-legacy. I have not gotten to
> sh73a0 yet, but I assume it is busted too.
>
> Can you please explain to me how the TMU is any different compared to
> the CMT, MTU2 or STI? =)
I don't know yet :-) I'll hopefully have more information after testing on
KZM9G.
> And no, I don't have any r8a7740 board anymore. Can anyone else test?
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Magnus Damm <magnus.damm@gmail.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
SH-Linux <linux-sh@vger.kernel.org>,
"Simon Horman [Horms]" <horms@verge.net.au>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
Date: Wed, 17 Dec 2014 02:43:42 +0200 [thread overview]
Message-ID: <3231701.Zbfs8c4b3F@avalon> (raw)
In-Reply-To: <CANqRtoTpSadrrpeBxA-ym4MZBfhY_BEyTPr_sfau8dZGCKttOQ@mail.gmail.com>
Hi Magnus,
On Tuesday 16 December 2014 20:46:33 Magnus Damm wrote:
> On Tue, Dec 16, 2014 at 8:20 PM, Laurent Pinchart wrote:
> > On Tuesday 16 December 2014 12:14:40 Daniel Lezcano wrote:
> >> On 12/16/2014 10:48 AM, Magnus Damm wrote:
> >> > From: Magnus Damm <damm+renesas@opensource.se>
> >> >
> >> > Update the TMU driver to use cpu_possible_mask as cpumask to make
> >> > r8a7779 SMP work as expected with or without the ARM TWD timer.
> >> >
> >> > Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> >>
> >> Applied as a 3.18 fix.
> >
> > You're a bit too fast, I haven't had time to review the patch yet.
> >
> >> ps: May I suggest to use the CLOCK_EVT_FEAT_DYNIRQ flag for this driver ?
> >>
> >> > ---
> >> >
> >> > drivers/clocksource/sh_tmu.c | 2 +-
> >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > --- 0001/drivers/clocksource/sh_tmu.c
> >> > +++ work/drivers/clocksource/sh_tmu.c 2014-12-16
> >> > 17:49:49.000000000 +0900 @@ -428,7 +428,7 @@ static void
> >> > sh_tmu_register_clockevent(s
> >> > ced->features = CLOCK_EVT_FEAT_PERIODIC;
> >> > ced->features |= CLOCK_EVT_FEAT_ONESHOT;
> >> > ced->rating = 200;
> >> > - ced->cpumask = cpumask_of(0);
> >> > + ced->cpumask = cpu_possible_mask;
> >
> > Magnus, how thoroughly have you tested this ? The TMU is indeed usable by
> > all CPUs, so setting the CPU mask to cpu_possible_mask makes sense, but
> > last time I've tried that it broke the broadcast timer due to the
> > heuristics used by the clock events core code.
>
> Uhm, so I've tested this particular patch on r8a7779 but I do agree
> that the TMU is used on a bunch of SoCs if that's what you mean. I
> don't see how it is different from any other of our timers though, and
> those got fixed like this earlier.
>
> I wonder if you may recall an earlier issue with incorrect clock event
> priorities and code somehow working-by-accident without the mask set
> as expected?
As discussed privately today, I've had this exact same patch in one of my
private branches, and I haven't pushed it upstream at the same time as the
similar cmt and mtu2 patches due to a regression. Unfortunately I don't
remember the details :-/
I'll test the patch on Marzen and KZM9G. I unfortunately can't test it on
Armadillo as I don't have access to that board anymore.
> > Could you please confirm that you've tested both CONFIG_PREEMPT_NONE and
> > CONFIG_PREEMPT with and without the ARM TWD times, and that you've booted
> > to userspace and tested timer broadcast on all CPUs ?
>
> No I have not. I've booted to user space in initramfs with DT-based
> TWD on Multiplatform for r8a7779. Without this fix (and other r8a7779
> TWD bits) I see a lot of breakage. For instance, TWD and SMP boot is
> broken on r8a7779 - both legacy and non-legacy. I have not gotten to
> sh73a0 yet, but I assume it is busted too.
>
> Can you please explain to me how the TMU is any different compared to
> the CMT, MTU2 or STI? =)
I don't know yet :-) I'll hopefully have more information after testing on
KZM9G.
> And no, I don't have any r8a7740 board anymore. Can anyone else test?
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2014-12-17 0:43 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-16 9:48 [PATCH] clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast Magnus Damm
2014-12-16 9:48 ` Magnus Damm
2014-12-16 11:14 ` Daniel Lezcano
2014-12-16 11:14 ` Daniel Lezcano
2014-12-16 11:20 ` Laurent Pinchart
2014-12-16 11:20 ` Laurent Pinchart
2014-12-16 11:25 ` Laurent Pinchart
2014-12-16 11:25 ` Laurent Pinchart
2014-12-16 11:29 ` Daniel Lezcano
2014-12-16 11:29 ` Daniel Lezcano
2014-12-16 11:46 ` Magnus Damm
2014-12-16 11:46 ` Magnus Damm
2014-12-16 11:54 ` Daniel Lezcano
2014-12-16 11:54 ` Daniel Lezcano
2014-12-17 0:44 ` Laurent Pinchart
2014-12-17 0:44 ` Laurent Pinchart
2014-12-16 12:40 ` Geert Uytterhoeven
2014-12-16 12:40 ` Geert Uytterhoeven
2014-12-17 1:30 ` Magnus Damm
2014-12-17 1:30 ` Magnus Damm
2014-12-17 2:08 ` Laurent Pinchart
2014-12-17 2:08 ` Laurent Pinchart
2014-12-17 8:30 ` Geert Uytterhoeven
2014-12-17 8:30 ` Geert Uytterhoeven
2014-12-17 9:42 ` Geert Uytterhoeven
2014-12-17 9:42 ` Geert Uytterhoeven
2014-12-17 12:04 ` Laurent Pinchart
2014-12-17 12:04 ` Laurent Pinchart
2014-12-17 12:11 ` Geert Uytterhoeven
2014-12-17 12:11 ` Geert Uytterhoeven
2014-12-17 12:14 ` Laurent Pinchart
2014-12-17 12:14 ` Laurent Pinchart
2014-12-17 11:31 ` Laurent Pinchart
2014-12-17 11:31 ` Laurent Pinchart
2014-12-17 13:23 ` Magnus Damm
2014-12-17 13:23 ` Magnus Damm
2014-12-19 0:03 ` Magnus Damm
2014-12-19 0:03 ` Magnus Damm
2014-12-19 0:46 ` Laurent Pinchart
2014-12-19 0:46 ` Laurent Pinchart
2014-12-17 8:25 ` Geert Uytterhoeven
2014-12-17 8:25 ` Geert Uytterhoeven
2014-12-17 0:43 ` Laurent Pinchart [this message]
2014-12-17 0:43 ` Laurent Pinchart
2014-12-17 13:59 ` Geert Uytterhoeven
2014-12-17 14:43 ` Laurent Pinchart
2014-12-17 15:34 ` Laurent Pinchart
2014-12-17 15:44 ` Geert Uytterhoeven
2014-12-17 15:46 ` Magnus Damm
2014-12-18 3:29 ` Laurent Pinchart
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=3231701.Zbfs8c4b3F@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=daniel.lezcano@linaro.org \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.