From: Tony Lindgren <tony@atomide.com>
To: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Dave Gerlach <d-gerlach@ti.com>, Keerthy <j-keerthy@ti.com>,
linux@armlinux.org.uk, linux-kernel@vger.kernel.org,
t-kristo@ti.com, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] ARM: omap: timers: reduce rating of gp_timer clocksource
Date: Fri, 2 Dec 2016 08:47:14 -0800 [thread overview]
Message-ID: <20161202164714.GB4705@atomide.com> (raw)
In-Reply-To: <d3a71d3d-3015-bb1f-80a4-4bb9adecaa4c@ti.com>
* Grygorii Strashko <grygorii.strashko@ti.com> [161129 08:43]:
>
>
> On 11/24/2016 12:19 AM, Keerthy wrote:
> > From: Grygorii Strashko <grygorii.strashko@ti.com>
> >
> > Now ARM Global timer (rating 300) will not be selected as clocksource,
> > because it's initialized after OMAP GP Timer (rating 300) and
> > Timekeeping core will not allow to replace clocksource with new one if
> > both of them have the same rating.
> >
> > Reduce rating of OMAP GP Timer (300->290) when it's used as
> > clocksource device - this will allow to select ARM Global timer (300)
> > as clocksource when enabled.
> >
> > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> > Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> > Signed-off-by: Keerthy <j-keerthy@ti.com>
>
> Unfortunately, this patch has dependency [1] and can't be used alone as
> it will cause ARM Global timer to be selected as clocksource
> always on am437x and this will kill cpuidle, because ARM Global timer
> is not in always_on domain.
>
> The intention of enabling ARM Global timer is only for non-pm aware use
> cases for RT-kernel latency improvement - where deep cpuidle states are not
> enabled.
Yeah we need to fix up things to be able to change the clocksource
in addition to clockevent. However, currently only cpuidle_coupled
knows when the whole system is idle, so quite a bit of work is
needed to do that in a sane way.
What about the first patch in this series?
Regards,
Tony
> [1] https://patchwork.kernel.org/patch/8940051/
>
> > ---
> > arch/arm/mach-omap2/timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> > index b2f2448..a0dbb0b 100644
> > --- a/arch/arm/mach-omap2/timer.c
> > +++ b/arch/arm/mach-omap2/timer.c
> > @@ -376,7 +376,7 @@ static cycle_t clocksource_read_cycles(struct clocksource *cs)
> > }
> >
> > static struct clocksource clocksource_gpt = {
> > - .rating = 300,
> > + .rating = 290,
> > .read = clocksource_read_cycles,
> > .mask = CLOCKSOURCE_MASK(32),
> > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> >
>
> --
> regards,
> -grygorii
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] ARM: omap: timers: reduce rating of gp_timer clocksource
Date: Fri, 2 Dec 2016 08:47:14 -0800 [thread overview]
Message-ID: <20161202164714.GB4705@atomide.com> (raw)
In-Reply-To: <d3a71d3d-3015-bb1f-80a4-4bb9adecaa4c@ti.com>
* Grygorii Strashko <grygorii.strashko@ti.com> [161129 08:43]:
>
>
> On 11/24/2016 12:19 AM, Keerthy wrote:
> > From: Grygorii Strashko <grygorii.strashko@ti.com>
> >
> > Now ARM Global timer (rating 300) will not be selected as clocksource,
> > because it's initialized after OMAP GP Timer (rating 300) and
> > Timekeeping core will not allow to replace clocksource with new one if
> > both of them have the same rating.
> >
> > Reduce rating of OMAP GP Timer (300->290) when it's used as
> > clocksource device - this will allow to select ARM Global timer (300)
> > as clocksource when enabled.
> >
> > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> > Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> > Signed-off-by: Keerthy <j-keerthy@ti.com>
>
> Unfortunately, this patch has dependency [1] and can't be used alone as
> it will cause ARM Global timer to be selected as clocksource
> always on am437x and this will kill cpuidle, because ARM Global timer
> is not in always_on domain.
>
> The intention of enabling ARM Global timer is only for non-pm aware use
> cases for RT-kernel latency improvement - where deep cpuidle states are not
> enabled.
Yeah we need to fix up things to be able to change the clocksource
in addition to clockevent. However, currently only cpuidle_coupled
knows when the whole system is idle, so quite a bit of work is
needed to do that in a sane way.
What about the first patch in this series?
Regards,
Tony
> [1] https://patchwork.kernel.org/patch/8940051/
>
> > ---
> > arch/arm/mach-omap2/timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> > index b2f2448..a0dbb0b 100644
> > --- a/arch/arm/mach-omap2/timer.c
> > +++ b/arch/arm/mach-omap2/timer.c
> > @@ -376,7 +376,7 @@ static cycle_t clocksource_read_cycles(struct clocksource *cs)
> > }
> >
> > static struct clocksource clocksource_gpt = {
> > - .rating = 300,
> > + .rating = 290,
> > .read = clocksource_read_cycles,
> > .mask = CLOCKSOURCE_MASK(32),
> > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> >
>
> --
> regards,
> -grygorii
WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>,
t-kristo@ti.com, linux@armlinux.org.uk,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Dave Gerlach <d-gerlach@ti.com>
Subject: Re: [PATCH 2/2] ARM: omap: timers: reduce rating of gp_timer clocksource
Date: Fri, 2 Dec 2016 08:47:14 -0800 [thread overview]
Message-ID: <20161202164714.GB4705@atomide.com> (raw)
In-Reply-To: <d3a71d3d-3015-bb1f-80a4-4bb9adecaa4c@ti.com>
* Grygorii Strashko <grygorii.strashko@ti.com> [161129 08:43]:
>
>
> On 11/24/2016 12:19 AM, Keerthy wrote:
> > From: Grygorii Strashko <grygorii.strashko@ti.com>
> >
> > Now ARM Global timer (rating 300) will not be selected as clocksource,
> > because it's initialized after OMAP GP Timer (rating 300) and
> > Timekeeping core will not allow to replace clocksource with new one if
> > both of them have the same rating.
> >
> > Reduce rating of OMAP GP Timer (300->290) when it's used as
> > clocksource device - this will allow to select ARM Global timer (300)
> > as clocksource when enabled.
> >
> > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> > Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> > Signed-off-by: Keerthy <j-keerthy@ti.com>
>
> Unfortunately, this patch has dependency [1] and can't be used alone as
> it will cause ARM Global timer to be selected as clocksource
> always on am437x and this will kill cpuidle, because ARM Global timer
> is not in always_on domain.
>
> The intention of enabling ARM Global timer is only for non-pm aware use
> cases for RT-kernel latency improvement - where deep cpuidle states are not
> enabled.
Yeah we need to fix up things to be able to change the clocksource
in addition to clockevent. However, currently only cpuidle_coupled
knows when the whole system is idle, so quite a bit of work is
needed to do that in a sane way.
What about the first patch in this series?
Regards,
Tony
> [1] https://patchwork.kernel.org/patch/8940051/
>
> > ---
> > arch/arm/mach-omap2/timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> > index b2f2448..a0dbb0b 100644
> > --- a/arch/arm/mach-omap2/timer.c
> > +++ b/arch/arm/mach-omap2/timer.c
> > @@ -376,7 +376,7 @@ static cycle_t clocksource_read_cycles(struct clocksource *cs)
> > }
> >
> > static struct clocksource clocksource_gpt = {
> > - .rating = 300,
> > + .rating = 290,
> > .read = clocksource_read_cycles,
> > .mask = CLOCKSOURCE_MASK(32),
> > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> >
>
> --
> regards,
> -grygorii
next prev parent reply other threads:[~2016-12-02 16:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-24 6:19 [PATCH 1/2] ARM: omap2: am437x: rollback to use omap3_gptimer_timer_init() Keerthy
2016-11-24 6:19 ` Keerthy
2016-11-24 6:19 ` Keerthy
2016-11-24 6:19 ` [PATCH 2/2] ARM: omap: timers: reduce rating of gp_timer clocksource Keerthy
2016-11-24 6:19 ` Keerthy
2016-11-24 6:19 ` Keerthy
2016-11-29 16:43 ` Grygorii Strashko
2016-11-29 16:43 ` Grygorii Strashko
2016-11-29 16:43 ` Grygorii Strashko
2016-12-02 16:47 ` Tony Lindgren [this message]
2016-12-02 16:47 ` Tony Lindgren
2016-12-02 16:47 ` Tony Lindgren
2016-12-02 18:02 ` Grygorii Strashko
2016-12-02 18:02 ` Grygorii Strashko
2016-12-02 18:02 ` Grygorii Strashko
2016-12-02 18:31 ` Tony Lindgren
2016-12-02 18:31 ` Tony Lindgren
2016-12-05 4:12 ` Keerthy
2016-12-05 4:12 ` Keerthy
2016-12-05 4:12 ` Keerthy
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=20161202164714.GB4705@atomide.com \
--to=tony@atomide.com \
--cc=d-gerlach@ti.com \
--cc=grygorii.strashko@ti.com \
--cc=j-keerthy@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=t-kristo@ti.com \
/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.