From: leo.yan@linaro.org (Leo Yan)
To: linux-arm-kernel@lists.infradead.org
Subject: [v3 3/5] coresight: add support for debug module
Date: Tue, 21 Mar 2017 10:59:24 +0800 [thread overview]
Message-ID: <20170321025924.GA7429@leoy-linaro> (raw)
In-Reply-To: <CANLsYkyiAnSGW4Ujs6L-yBKK3no3zigbyBgOCWbm06ZdV-f2Hw@mail.gmail.com>
On Mon, Mar 20, 2017 at 10:40:00AM -0600, Mathieu Poirier wrote:
[...]
> >>> If we don't check for "nohlt" some platform may freeze, others may work.
> >>> If we
> >>> mandate that "nohlt" be present on the kernel cmd line it works in all
> >>> cases.
> >>> As such mandating that "nohlt" be present is a better way to go.
> >>
> >>
> >> Sure, so I will add below checking code in the probe function, please
> >> let me know if you have alter better way to implement this:
> >>
> >> + if (IS_ENABLED(CONFIG_CPU_IDLE) &&
> >> + !strstr(boot_command_line, "nohlt")) {
> >> + dev_err(dev, "May not be accessible in CPU power
> >> domain.\n");
> >> + return -EPERM;
> >> + }
> >>
> >
> > There is an API which kind of achieves what "nohlt" does at runtime :
> >
> > cpu_idle_poll_ctrl(true)
> >
> > So may be we could use that instead of depending on "nohlt". The other side
> > of the issues is "when do we decide to use the API". May be we could add
> > something
> > like : enable_debug, which could then trigger the panic notifier
> > registrations
> > and the above. That would still leave us with a case where the system
> > crashes
> > even before the user gets a terminal. May be the following is the best
> > option :
> >
> > 1) Dedicated kernel command line parameter for enabling the CPU debug at
> > boot/probe.
> >
> > and
> >
> > 2) Runtime enable method via sysfs.
> >
> > What do you think ?
>
> In my opinion booting with "nohlt" on the cmd line is sufficient to
> determine if we should use the driver or not. That way we also avoid
> declaring yet another sysfs flag, something I really want to avoid.
Agree.
I did spend some time to implement coresight core framework to support
debug module, you could see it on:http://termbin.com/k2fj; this also
gives me more sense which is better choice. If declaring another sysfs
flag to support debug module in coresight framework, this lets the
codes and interfaces more complex. E.g. for best fit into coresight
framework, finally we can get 8 sysfs nodes for 8 CPUs in system; so
that means we need enable every CPU one by one.
root at linaro-developer:~# ls /sys/bus/coresight/devices/
f6590000.debug f6594000.debug f65d0000.debug f65d4000.debug
f6592000.debug f6596000.debug f65d2000.debug f65d6000.debug
This is not quite reasonable to introduce complexity for either code
or using it. If we review coresight topology, some components need to
interact with each other and coresight framework should handle them
properly to enable/disable path, etc. But as Mathieu meantioned, from
the point of the hardware topology, the CPU debug module is quite
standalone under the coresight umbrella, and it has no any dependency
with other tracing or bus modules. So it's good to keep it simple,
this also matches with hardware implementation.
Thanks,
Leo Yan
next prev parent reply other threads:[~2017-03-21 2:59 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-03 6:00 [PATCH v3 0/5] coresight: enable debug module Leo Yan
2017-03-03 6:00 ` [PATCH v3 1/5] coresight: bindings for " Leo Yan
2017-03-09 13:27 ` [v3 " Suzuki K Poulose
2017-03-03 6:00 ` [PATCH v3 2/5] coresight: refactor with function of_coresight_get_cpu Leo Yan
2017-03-03 6:00 ` [PATCH v3 3/5] coresight: add support for debug module Leo Yan
2017-03-09 16:53 ` [v3 " Suzuki K Poulose
2017-03-09 17:59 ` Leo Yan
2017-03-10 14:29 ` Suzuki K Poulose
2017-03-13 8:12 ` Leo Yan
2017-03-13 16:56 ` Mathieu Poirier
2017-03-15 16:44 ` Suzuki K Poulose
2017-03-15 20:41 ` Mathieu Poirier
2017-03-17 10:13 ` Leo Yan
2017-03-17 15:50 ` Mathieu Poirier
2017-03-17 16:28 ` Leo Yan
2017-03-17 16:47 ` Suzuki K Poulose
2017-03-20 12:30 ` Leo Yan
2017-03-20 16:40 ` Mathieu Poirier
2017-03-21 2:59 ` Leo Yan [this message]
2017-03-21 10:16 ` Suzuki K Poulose
2017-03-21 11:47 ` Leo Yan
2017-03-21 15:15 ` Mathieu Poirier
2017-03-13 16:29 ` Mathieu Poirier
2017-03-21 15:39 ` [PATCH v3 " Sudeep Holla
[not found] ` <CAJ9a7VgCjXNGC4C49PxL-nBxzhMCmA8Mb-0C_epahizA5EL2HA@mail.gmail.com>
2017-03-22 14:07 ` Sudeep Holla
2017-03-22 15:45 ` Mike Leach
2017-03-22 16:17 ` Sudeep Holla
2017-03-22 17:09 ` Suzuki K Poulose
2017-03-22 17:25 ` Sudeep Holla
2017-03-23 5:43 ` Leo Yan
2017-03-23 12:27 ` Mike Leach
2017-03-22 16:01 ` Leo Yan
2017-03-22 16:53 ` Sudeep Holla
2017-03-03 6:00 ` [PATCH v3 4/5] clk: hi6220: add debug APB clock Leo Yan
2017-03-03 23:58 ` Stephen Boyd
2017-03-17 15:22 ` Leo Yan
2017-03-03 6:00 ` [PATCH v3 5/5] arm64: dts: hi6220: register debug module Leo Yan
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=20170321025924.GA7429@leoy-linaro \
--to=leo.yan@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).