Messages in this thread | | | From | "Pratik R. Sampat" <> | Subject | [PATCH v4 0/1] Interface to represent PAPR firmware attributes | Date | Fri, 16 Jul 2021 20:51:32 +0530 |
| |
RFC: https://lkml.org/lkml/2021/6/4/791 PATCH v1: https://lkml.org/lkml/2021/6/16/805 PATCH v2: https://lkml.org/lkml/2021/7/6/138 PATCH v3: https://lkml.org/lkml/2021/7/12/2799
Changelog v3 --> v4 Based on a comment from Fabiano: 1. Resolved typo in documentation 2. Statically allocate "pgattrs" instead of kmalloc as size known at compile time 3. Converted sprintf calls to snprintf as size of buffer is known 4. Changed the implementation of "papr_show_desc" function to make an extra H_CALL as a result of making the scope of esi_hdr and esi_attrs local 5. Removed bailing out on version mismatch as the documentation states that the attribute structure can never change, only the data and that will not break the implementation. Hence just a warning is issued on version mismatch 6. Avoid passing a statically allocated buf to "pgs[idx].pg.name", instead used kasprintf to allocate and pass the data through
Also, have implemented a POC using this interface for the powerpc-utils' ppc64_cpu --frequency command-line tool to utilize this information in userspace. The POC for the new interface has been hosted here: https://github.com/pratiksampat/powerpc-utils/tree/H_GET_ENERGY_SCALE_INFO_v2
Sample output from the powerpc-utils tool is as follows:
# ppc64_cpu --frequency Power and Performance Mode: XXXX Idle Power Saver Status : XXXX Processor Folding Status : XXXX --> Printed if Idle power save status is supported
Platform reported frequencies --> Frequencies reported from the platform's H_CALL i.e PAPR interface min : NNNN GHz max : NNNN GHz static : NNNN GHz
Tool Computed frequencies min : NNNN GHz (cpu XX) max : NNNN GHz (cpu XX) avg : NNNN GHz
Pratik R. Sampat (1): powerpc/pseries: Interface to represent PAPR firmware attributes
.../sysfs-firmware-papr-energy-scale-info | 26 ++ arch/powerpc/include/asm/hvcall.h | 24 +- arch/powerpc/kvm/trace_hv.h | 1 + arch/powerpc/platforms/pseries/Makefile | 3 +- .../pseries/papr_platform_attributes.c | 331 ++++++++++++++++++ 5 files changed, 383 insertions(+), 2 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-firmware-papr-energy-scale-info create mode 100644 arch/powerpc/platforms/pseries/papr_platform_attributes.c
-- 2.31.1
| |