From: will.deacon@arm•com (Will Deacon)
To: linux-arm-kernel@lists•infradead.org
Subject: [RFC PATCH 3/3] dynamic_debug: Add support for dynamic register trace
Date: Tue, 7 Aug 2018 17:57:14 +0100 [thread overview]
Message-ID: <20180807165713.GJ21809@arm.com> (raw)
In-Reply-To: <37c723a7892b21eb67b8447160d8d602703f321f.1533211509.git.saiprakash.ranjan@codeaurora.org>
On Fri, Aug 03, 2018 at 07:58:44PM +0530, Sai Prakash Ranjan wrote:
> Introduce dynamic debug filtering mechanism to register
> tracing as dynamic_rtb() which will reduce a lot of
> overhead otherwise of tracing all the register reads/writes
> in all files.
>
> Now we can just specify the file name or any wildcard pattern
> as any other dynamic debug facility in bootargs and dynamic rtb
> will just trace them and the output can be seen in pstore.
>
> TODO: Now we use same 'p' flag but will add a separate flag for register trace
> later.
>
> Example for tracing all register reads/writes in drivers/soc/qcom/* below:
>
> # dyndbg="file drivers/soc/qcom/* +p" in bootargs
> # reboot -f
> # mount -t pstore pstore /sys/fs/pstore
> # cat /sys/fs/pstore/rtb-ramoops-0
> [LOGK_WRITEL ] ts:1373030419 data:ffff00000d5065a4 <ffff00000867cb44> qcom_smsm_probe+0x51c/0x668
> [LOGK_WRITEL ] ts:1373360576 data:ffff00000d506608 <ffff00000867cb44> qcom_smsm_probe+0x51c/0x668
>
> Also we add uncached_logk api to readl/writel definitions for arm64
> as of now. This can be extended to arm as well later for tracing.
>
> Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora•org>
> ---
> arch/arm64/include/asm/io.h | 93 +++++++++++++++++++++++++++++++++++
Putting all of this in the arch code, which basically duplicates everything,
feels very wrong to me. Perhaps take a look at the ongoing work for
instrumenting the atomics and take some inspiration from there?
Ideally, the architecture just needs to provide the low-level primivites
(which it already does) and the core can generate instruments versions if
required.
Will
next prev parent reply other threads:[~2018-08-07 16:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-03 14:28 [RFC PATCH 0/3] Register read/write tracing with dynamic debug and pstore Sai Prakash Ranjan
2018-08-03 14:28 ` [RFC PATCH 1/3] tracing: Add support for logging data to uncached buffer Sai Prakash Ranjan
2018-08-16 2:59 ` Steven Rostedt
2018-08-16 8:35 ` Sai Prakash Ranjan
2018-08-03 14:28 ` [RFC PATCH 2/3] pstore: Add register readl/writel tracing support Sai Prakash Ranjan
2018-08-03 14:28 ` [RFC PATCH 3/3] dynamic_debug: Add support for dynamic register trace Sai Prakash Ranjan
2018-08-07 16:57 ` Will Deacon [this message]
2018-08-08 14:29 ` Sai Prakash Ranjan
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=20180807165713.GJ21809@arm.com \
--to=will.deacon@arm$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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