[PATCH 0/9] Add support for configure and control of Hardware Trace Macro(HTM)

Venkat Rao Bagalkote venkat88 at linux.ibm.com
Fri Mar 21 00:13:50 AEDT 2025


On 14/03/25 7:25 pm, Athira Rajeev wrote:
> H_HTM (Hardware Trace Macro) hypervisor call is an HCALL to export
> data from Hardware Trace Macro (HTM) function. The debugfs interface
> to export the HTM function data in a partition currently supports only
> dumping of HTM data in an lpar. Patchset add support for configuration
> and control of HTM function via debugfs interface.
>
> With the patchset, after loading htmdump module,
> below files are present:
>
> ls /sys/kernel/debug/powerpc/htmdump/
>    coreindexonchip  htmcaps  htmconfigure  htmflags  htminfo  htmsetup
>    htmstart  htmstatus  htmtype  nodalchipindex  nodeindex  trace
>
> - nodeindex, nodalchipindex, coreindexonchip specifies which
>    partition to configure the HTM for.
> - htmtype: specifies the type of HTM. Supported target is
>    hardwareTarget.
> - trace: is to read the HTM data.
> - htmconfigure: Configure/Deconfigure the HTM. Writing 1 to
>    the file will configure the trace, writing 0 to the file
>    will do deconfigure.
> - htmstart: start/Stop the HTM. Writing 1 to the file will
>    start the tracing, writing 0 to the file will stop the tracing.
> - htmstatus: get the status of HTM. This is needed to understand
>    the HTM state after each operation.
> - htmsetup: set the HTM buffer size. Size of HTM buffer is in
>    power of 2.
> - htminfo: provides the system processor configuration details.
>    This is needed to understand the appropriate values for nodeindex,
>    nodalchipindex, coreindexonchip.
> - htmcaps : provides the HTM capabilities like minimum/maximum buffer
>    size, what kind of tracing the HTM supports etc.
> - htmflags : allows to pass flags to hcall. Currently supports
>    controlling the wrapping of HTM buffer.
>
> Example usage:
> To collect HTM traces for a partition represented by nodeindex as
> zero, nodalchipindex as 1 and coreindexonchip as 12.
>
>    # cd /sys/kernel/debug/powerpc/htmdump/
>    # echo 2 > htmtype
>    # echo 0 > nodeindex
>    # echo 1 > nodalchipindex
>    # echo 12 > coreindexonchip
>    # echo 1 > htmflags     # to set noWrap for HTM buffers
>    # echo 1 > htmconfigure # Configure the HTM
>    # echo 1 > htmstart     # Start the HTM
>    # echo 0 > htmstart     # Stop the HTM
>    # echo 0 > htmconfigure # Deconfigure the HTM
>    # cat htmstatus         # Dump the status of HTM entries as data
>
> Athira Rajeev (9):
>    powerpc/pseries/htmdump: Add htm_hcall_wrapper to integrate other htm
>      operations
>    powerpc/pseries/htmdump: Add htm configure support to htmdump module
>    powerpc/pseries/htmdump: Add htm start support to htmdump module
>    powerpc/pseries/htmdump: Add htm status support to htmdump module
>    powerpc/pseries/htmdump: Add htm info support to htmdump module
>    powerpc/pseries/htmdump: Add htm setup support to htmdump module
>    powerpc/pseries/htmdump: Add htm flags support to htmdump module
>    powerpc/pseries/htmdump: Add htm capabilities support to htmdump
>      module
>    powerpc/pseries/htmdump: Add documentation for H_HTM debugfs interface
>
>   Documentation/arch/powerpc/htm.rst        | 104 ++++++
>   arch/powerpc/include/asm/plpar_wrappers.h |  20 +-
>   arch/powerpc/platforms/pseries/htmdump.c  | 370 +++++++++++++++++++++-
>   3 files changed, 475 insertions(+), 19 deletions(-)
>   create mode 100644 Documentation/arch/powerpc/htm.rst
>
Hello Athira,

I tried to apply this patch set on powerpc-next repo, but pacth 007 
failed. Please refer the failure below.


Signed-off-by: Athira Rajeev <atrajeev at linux.ibm.com>
--------------------------
Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: a
Applying: powerpc/pseries/htmdump: Add htm_hcall_wrapper to integrate 
other htm operations
Applying: powerpc/pseries/htmdump: Add htm configure support to htmdump 
module
Applying: powerpc/pseries/htmdump: Add htm start support to htmdump module
Applying: powerpc/pseries/htmdump: Add htm status support to htmdump module
Applying: powerpc/pseries/htmdump: Add htm info support to htmdump module
Applying: powerpc/pseries/htmdump: Add htm setup support to htmdump module
Applying: powerpc/pseries/htmdump: Add htm flags support to htmdump module
error: patch failed: arch/powerpc/platforms/pseries/htmdump.c:180
error: arch/powerpc/platforms/pseries/htmdump.c: patch does not apply
Patch failed at 0007 powerpc/pseries/htmdump: Add htm flags support to 
htmdump module
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Regards,

Venkat.



More information about the Linuxppc-dev mailing list