[PATCH 0/9] Add support for configure and control of Hardware Trace Macro(HTM)
Athira Rajeev
atrajeev at linux.ibm.com
Fri Mar 21 01:51:00 AEDT 2025
> On 20 Mar 2025, at 6:43 PM, Venkat Rao Bagalkote <venkat88 at linux.ibm.com> wrote:
>
> 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”.
Hi Venkat
Thanks for checking the patch series. I will be posting a V2 with changes soon to address above issue.
Thanks
Athira
>
>
> Regards,
>
> Venkat.
More information about the Linuxppc-dev
mailing list