All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Leach <mike.leach@linaro.org>
To: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Coresight ML <coresight@lists.linaro.org>,
	 linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	 Mathieu Poirier <mathieu.poirier@linaro.org>,
	Leo Yan <leo.yan@linaro.org>
Subject: Re: [RFC PATCH 0/8] coresight: syscfg: dynamic load, resource management
Date: Wed, 19 May 2021 10:43:03 +0100	[thread overview]
Message-ID: <CAJ9a7Vhn8uLG__rQu2Tp2B2LnpBPKN6Y4PNq=XZuM2n0Q+uTtA@mail.gmail.com> (raw)
In-Reply-To: <a0930752-aa3d-89c0-4fd6-077bdc466344@arm.com>

Hi Suzuki,

On Tue, 18 May 2021 at 19:31, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>
> Hi Mike
>
> On 12/05/2021 22:17, Mike Leach wrote:
>
> > This patchset represents the second phase of CoreSight configuration
> > management.
>
> Thanks for the series.
>
> >
> > 1) API updated to allow dynamic load and unload of configurations and
> > features. Dependency management between loaded sets is added.
> >
> > 2) New configuration and feature sets can be added using a loadable module.
> > An example in /samples/coresight is provided to demonstrate this.
>
> Is it possible to do this at runtime configfs ? I thought we tied this
> to configfs for this feautre.
>
> While the module approach works, I feel is a hinderance for wider
> adoption and is something that doesn't allow for use on production
> systems.
>
> >
> > 3) Resource management API is added. This allows the system to ensure that
> > loaded configurations and features are only loaded onto devices that can
> > support them.
> >
> > Further - it ensures that configurations with multiple features cannot over
> > allocate resources.
> >
> > 4) configfs can be used to activate a configuration which will then be used
> > when controlling tracing using sysfs.
> >
> > 5) Resource management is added to ETMv4 configurations. This allows current
> > and future features and configurations to be defined in terms of resources
> > used as well as registers to be programmed.
> >
> > Defining features in this way allows the resource management to operate
> > correctly.
> >
> > The perf event parsing is also adjusted to allow the ETM resources requested
> > on the command line (e.g. address filters, etc) to be correctly handled
> > using resoruce management alongside the complex configurations such as
> > autofdo.
> >
> > Applies to coresight/next - which is 5.13-rc1 + initial Coresight configuration
> > patchset.
> >
> > To follow in future revisions / sets:-
> > a) load of additional config and features by configfs
>
> Is this something that implements what I requested above ?
> Then I don't see how the module approach will be used once that is in
> place and we will be left with something to maintain forever.
>

The first couple of patches in this set implement the dynamic load and
unload of configurations on top of the existing static load only
infrastructure from the baseline set.
This code is used when dynamic loading from both a module and in the
case of a configfs load. So there is very little code that is specific
to the module load case.

The module load was requested by Mathieu as a way of loading new
configurations and I guess even in production environments, approved
modules can be loaded at boot to provide standard configs should
people want them - after all the coresight modules themselves have to
be loaded.

Also - the module load tests the new code very nicely.

Regards

Mike



> Suzuki
>
> > b) ECT and CTI and other Coresight components support for configuration and
> > features.
> >
> >
> > Mike Leach (8):
> >    coresight: syscfg: Update API to allow dynamic load and unload
> >    coresight: syscfg: Update load API for config loadable modules
> >    coresight: syscfg: Example CoreSight configuration loadable module
> >    coresight: configfs: Allow configfs to activate configuration.
> >    coresight: syscfg: Add API to check and validate device resources.
> >    coresight: etm4x: syscfg: Add resource management to etm4x.
> >    coresight: etm4x: Update perf event resource handling.
> >    coresight: etm4x: Update configuration example.
> >
> >   MAINTAINERS                                   |   1 +
> >   .../hwtracing/coresight/coresight-cfg-afdo.c  |  38 +-
> >   .../coresight/coresight-cfg-preload.c         |   9 +-
> >   .../hwtracing/coresight/coresight-config.c    |  71 ++-
> >   .../hwtracing/coresight/coresight-config.h    |  45 +-
> >   .../hwtracing/coresight/coresight-etm4x-cfg.c | 533 ++++++++++++++++++
> >   .../hwtracing/coresight/coresight-etm4x-cfg.h | 196 ++++++-
> >   .../coresight/coresight-etm4x-core.c          | 250 +++-----
> >   .../coresight/coresight-syscfg-configfs.c     |  87 +++
> >   .../coresight/coresight-syscfg-configfs.h     |   4 +
> >   .../hwtracing/coresight/coresight-syscfg.c    | 390 +++++++++++--
> >   .../hwtracing/coresight/coresight-syscfg.h    |  38 +-
> >   include/linux/coresight.h                     |   2 +
> >   samples/Kconfig                               |   9 +
> >   samples/Makefile                              |   1 +
> >   samples/coresight/Makefile                    |   4 +
> >   samples/coresight/coresight-cfg-sample.c      |  73 +++
> >   17 files changed, 1511 insertions(+), 240 deletions(-)
> >   create mode 100644 samples/coresight/Makefile
> >   create mode 100644 samples/coresight/coresight-cfg-sample.c
> >
>


--
Mike Leach
Principal Engineer, ARM Ltd.
Manchester Design Centre. UK

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-05-19  9:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-12 21:17 [RFC PATCH 0/8] coresight: syscfg: dynamic load, resource management Mike Leach
2021-05-12 21:17 ` [RFC PATCH 1/8] coresight: syscfg: Update API to allow dynamic load and unload Mike Leach
2021-05-17 17:15   ` Mathieu Poirier
2021-05-17 17:27     ` Mathieu Poirier
2021-05-19 13:28       ` Mike Leach
2021-05-12 21:17 ` [RFC PATCH 2/8] coresight: syscfg: Update load API for config loadable modules Mike Leach
2021-05-17 17:38   ` Mathieu Poirier
2021-05-12 21:17 ` [RFC PATCH 3/8] coresight: syscfg: Example CoreSight configuration loadable module Mike Leach
2021-05-18 15:52   ` Mathieu Poirier
2021-05-18 16:38     ` Mike Leach
2021-05-18 21:15       ` Mathieu Poirier
2021-05-12 21:17 ` [RFC PATCH 4/8] coresight: configfs: Allow configfs to activate configuration Mike Leach
2021-05-18 19:36   ` Mathieu Poirier
2021-05-19  9:47     ` Mike Leach
2021-05-12 21:17 ` [RFC PATCH 5/8] coresight: syscfg: Add API to check and validate device resources Mike Leach
2021-05-21 17:56   ` Mathieu Poirier
2021-07-08 16:30     ` Mike Leach
2021-05-12 21:17 ` [RFC PATCH 6/8] coresight: etm4x: syscfg: Add resource management to etm4x Mike Leach
2021-05-26 17:51   ` Mathieu Poirier
2021-05-27 17:41   ` Mathieu Poirier
2021-05-28 16:17   ` Mathieu Poirier
2021-07-09  9:32     ` Mike Leach
2021-05-12 21:17 ` [RFC PATCH 7/8] coresight: etm4x: Update perf event resource handling Mike Leach
2021-05-12 21:17 ` [RFC PATCH 8/8] coresight: etm4x: Update configuration example Mike Leach
2021-05-13 15:56 ` [RFC PATCH 0/8] coresight: syscfg: dynamic load, resource management Mathieu Poirier
2021-05-13 16:53   ` Mike Leach
2021-05-14  1:35     ` Leo Yan
2021-05-18 18:31 ` Suzuki K Poulose
2021-05-19  9:43   ` Mike Leach [this message]
2021-05-19 15:37     ` Mathieu Poirier

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='CAJ9a7Vhn8uLG__rQu2Tp2B2LnpBPKN6Y4PNq=XZuM2n0Q+uTtA@mail.gmail.com' \
    --to=mike.leach@linaro.org \
    --cc=coresight@lists.linaro.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=suzuki.poulose@arm.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.