[RFC PATCH 0/8] coresight: syscfg: dynamic load, resource management

Suzuki K Poulose suzuki.poulose at arm.com
Tue May 18 11:31:15 PDT 2021


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.

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
> 




More information about the linux-arm-kernel mailing list