From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Doug Anderson <dianders@chromium.org>,
Kukjin Kim <kgene.kim@samsung.com>,
Tomasz Figa <t.figa@samsung.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
Chirantan Ekbote <chirantan@chromium.org>,
David Riley <davidriley@chromium.org>,
olof@lixom.net, linux-samsung-soc@vger.kernel.org,
Amit Daniel Kachhap <amit.daniel@samsung.com>,
javier.martinez@collabora.co.uk, tglx@linutronix.de,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2] clocksource: exynos_mct: Fix ftrace
Date: Fri, 20 Jun 2014 17:02:56 +0200 [thread overview]
Message-ID: <53A44D20.2070507@linaro.org> (raw)
In-Reply-To: <1403197706-29966-1-git-send-email-dianders@chromium.org>
On 06/19/2014 07:08 PM, Doug Anderson wrote:
> In (93bfb76 clocksource: exynos_mct: register sched_clock callback) we
> supported using the MCT as a scheduler clock.
Hi Thomas,
is it possible you update the tip/timers/core so I can get visibility on
the above patch to apply this one ?
Thanks
-- Daniel
> We properly marked
> exynos4_read_sched_clock() as notrace. However, we then went and
> called another function that _wasn't_ notrace. That means if you do:
>
> cd /sys/kernel/debug/tracing/
> echo function_graph > current_tracer
>
> You'll get a crash.
>
> Fix this (but still let other readers of the MCT be trace-enabled) by
> adding an extra function. It's important to keep other users of MCT
> traceable because the MCT is actually quite slow to access and we want
> exynos4_frc_read() to show up in ftrace profiles if it's the
> bottleneck.
>
> Signed-off-by: Doug Anderson <dianders@chromium.org>
> ---
> Changes in v2:
> - Split out from other patches so this can go into 3.16.
> - Better comment about why exynos4_frc_read() should be traceable.
> - No more useless inline.
>
> drivers/clocksource/exynos_mct.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
> index f71d55f..5ce99c0 100644
> --- a/drivers/clocksource/exynos_mct.c
> +++ b/drivers/clocksource/exynos_mct.c
> @@ -162,7 +162,7 @@ static void exynos4_mct_frc_start(void)
> exynos4_mct_write(reg, EXYNOS4_MCT_G_TCON);
> }
>
> -static cycle_t exynos4_frc_read(struct clocksource *cs)
> +static cycle_t notrace _exynos4_frc_read(void)
> {
> unsigned int lo, hi;
> u32 hi2 = __raw_readl(reg_base + EXYNOS4_MCT_G_CNT_U);
> @@ -176,6 +176,11 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
> return ((cycle_t)hi << 32) | lo;
> }
>
> +static cycle_t exynos4_frc_read(struct clocksource *cs)
> +{
> + return _exynos4_frc_read();
> +}
> +
> static void exynos4_frc_resume(struct clocksource *cs)
> {
> exynos4_mct_frc_start();
> @@ -192,7 +197,7 @@ struct clocksource mct_frc = {
>
> static u64 notrace exynos4_read_sched_clock(void)
> {
> - return exynos4_frc_read(&mct_frc);
> + return _exynos4_frc_read();
> }
>
> static void __init exynos4_clocksource_init(void)
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] clocksource: exynos_mct: Fix ftrace
Date: Fri, 20 Jun 2014 17:02:56 +0200 [thread overview]
Message-ID: <53A44D20.2070507@linaro.org> (raw)
In-Reply-To: <1403197706-29966-1-git-send-email-dianders@chromium.org>
On 06/19/2014 07:08 PM, Doug Anderson wrote:
> In (93bfb76 clocksource: exynos_mct: register sched_clock callback) we
> supported using the MCT as a scheduler clock.
Hi Thomas,
is it possible you update the tip/timers/core so I can get visibility on
the above patch to apply this one ?
Thanks
-- Daniel
> We properly marked
> exynos4_read_sched_clock() as notrace. However, we then went and
> called another function that _wasn't_ notrace. That means if you do:
>
> cd /sys/kernel/debug/tracing/
> echo function_graph > current_tracer
>
> You'll get a crash.
>
> Fix this (but still let other readers of the MCT be trace-enabled) by
> adding an extra function. It's important to keep other users of MCT
> traceable because the MCT is actually quite slow to access and we want
> exynos4_frc_read() to show up in ftrace profiles if it's the
> bottleneck.
>
> Signed-off-by: Doug Anderson <dianders@chromium.org>
> ---
> Changes in v2:
> - Split out from other patches so this can go into 3.16.
> - Better comment about why exynos4_frc_read() should be traceable.
> - No more useless inline.
>
> drivers/clocksource/exynos_mct.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
> index f71d55f..5ce99c0 100644
> --- a/drivers/clocksource/exynos_mct.c
> +++ b/drivers/clocksource/exynos_mct.c
> @@ -162,7 +162,7 @@ static void exynos4_mct_frc_start(void)
> exynos4_mct_write(reg, EXYNOS4_MCT_G_TCON);
> }
>
> -static cycle_t exynos4_frc_read(struct clocksource *cs)
> +static cycle_t notrace _exynos4_frc_read(void)
> {
> unsigned int lo, hi;
> u32 hi2 = __raw_readl(reg_base + EXYNOS4_MCT_G_CNT_U);
> @@ -176,6 +176,11 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
> return ((cycle_t)hi << 32) | lo;
> }
>
> +static cycle_t exynos4_frc_read(struct clocksource *cs)
> +{
> + return _exynos4_frc_read();
> +}
> +
> static void exynos4_frc_resume(struct clocksource *cs)
> {
> exynos4_mct_frc_start();
> @@ -192,7 +197,7 @@ struct clocksource mct_frc = {
>
> static u64 notrace exynos4_read_sched_clock(void)
> {
> - return exynos4_frc_read(&mct_frc);
> + return _exynos4_frc_read();
> }
>
> static void __init exynos4_clocksource_init(void)
>
--
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2014-06-20 15:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-19 17:08 [PATCH v2] clocksource: exynos_mct: Fix ftrace Doug Anderson
2014-06-19 17:08 ` Doug Anderson
2014-06-20 15:02 ` Daniel Lezcano [this message]
2014-06-20 15:02 ` Daniel Lezcano
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=53A44D20.2070507@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=amit.daniel@samsung.com \
--cc=chirantan@chromium.org \
--cc=davidriley@chromium.org \
--cc=dianders@chromium.org \
--cc=javier.martinez@collabora.co.uk \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=olof@lixom.net \
--cc=t.figa@samsung.com \
--cc=tglx@linutronix.de \
--cc=vincent.guittot@linaro.org \
/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.