I expanded the Test plan with an additional more direct test on top of the more end2end test.
** Description changed: [ Impact ] - * A new IBM Z hardware generation (z17) was recently introduced. - - * Hence s390-tools' libutil needs to be aware of the new hardware - name (z17, z17_2) and it's new type(s) (9175, 9176) to be able - to identify and map type to name and vice versa. + * A new IBM Z hardware generation (z17) was recently introduced. - * This is especially needed to map new CPU management facility (MF) - hardware counters to the correct hardware name and type. + * Hence s390-tools' libutil needs to be aware of the new hardware + name (z17, z17_2) and it's new type(s) (9175, 9176) to be able + to identify and map type to name and vice versa. - * Without patching, new z17 hw, i.e. if referenced in CPU MF - (or other cases) by it's new machine type, would be reported - by libutils as "Unknown machine type". + * This is especially needed to map new CPU management facility (MF) + hardware counters to the correct hardware name and type. + + * Without patching, new z17 hw, i.e. if referenced in CPU MF + (or other cases) by it's new machine type, would be reported + by libutils as "Unknown machine type". [ Test Plan ] - * Prepare an IBM z17 LPAR with Ubuntu 25.04 - (incl. this s390-tools patch and the commit above for the kernel). + * Prepare an IBM z17 LPAR with Ubuntu 25.04 + (incl. this s390-tools patch and the commit above for the kernel). - * At LPARs activation profile, navigate to the Security page - and within the counter facility options, select each counter set - you want to use. (One may just select all for testing purposes.) + * At LPARs activation profile, navigate to the Security page + and within the counter facility options, select each counter set + you want to use. (One may just select all for testing purposes.) - * Use 'perf list' to determine if the new counters are listed. - (Cmd 'ls -l /sys/devices/cpum_cf/events | wc -l' needs to report 106 on z17.) + * Use 'perf list' to determine if the new counters are listed. + (Cmd 'ls -l /sys/devices/cpum_cf/events | wc -l' needs to report 106 on z17.) - * For comparing the new counters (and their names) see: - dc7cafd91cba ("s390/cpumf: Update CPU Measurement facility extended - counter set support") - https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/\ - plucky/commit/?h=master-next&id=dc7cafd91cba63b200f33ced7530b1d76a2b5495 + * For comparing the new counters (and their names) see: + dc7cafd91cba ("s390/cpumf: Update CPU Measurement facility extended + counter set support") + https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/\ + plucky/commit/?h=master-next&id=dc7cafd91cba63b200f33ced7530b1d76a2b5495 - * Use 'perf stat -e' to enable and make use of these counters. + * Use 'perf stat -e <counter>' to enable and make use of these + counters. + + * In addition to the more end to end test above, + the identification of the machine can also be done based on lscpumf. + + - libutils is a static library (.a) that is used by lscpumf. + If lscpumf is used to list all counters that are provided by + the underlying IBM Z hardware (using the '-C' option, it will + list the identified hardware in the first line (mapped via + its type number): + + - $ lscpumf -C | head -1 + perf event counter list for IBM z17 + + - The complete output of 'lscpumf -C' should then contain again all + the new counters (that can be found in the kernel commit listed above). [ Fix ] - * b3db52fd165e6a26d9c73e51bd5322b55017ef94 - ("libutil: Add machine type definition for machines 9175 and 9176") + * b3db52fd165e6a26d9c73e51bd5322b55017ef94 + ("libutil: Add machine type definition for machines 9175 and 9176") - * Nobel misses the type for an intermediate/updated model - ('Z16_A02' on top of Z16) - thus I'm adding this first (needed for noble only) as a pre-requirement. - ef1799f31fa2a11467373077058b8b5a3838c4b1 - ("s390-tools/libutil: Add machine type 3932") + * Nobel misses the type for an intermediate/updated model + ('Z16_A02' on top of Z16) + thus I'm adding this first (needed for noble only) as a pre-requirement. + ef1799f31fa2a11467373077058b8b5a3838c4b1 + ("s390-tools/libutil: Add machine type 3932") [ Where problems could occur ] - * The patch is pretty straight forward, but there can always be problems, - be it a 'slip of the pen' or a typo, with that: + * The patch is pretty straight forward, but there can always be problems, + be it a 'slip of the pen' or a typo, with that: - * The names or type information could be wrong, which could lead - to an incorrect identification (or not identification) of a z17 system. + * The names or type information could be wrong, which could lead + to an incorrect identification (or not identification) of a z17 system. - * The new case statements might not be inserted correctly - or not correctly closed/terminated, - which might lead again to an incorrect identification - or to "Unknown machine type". + * The new case statements might not be inserted correctly + or not correctly closed/terminated, + which might lead again to an incorrect identification + or to "Unknown machine type". - * The above could again lead to: - - incorrect event exposure on unsupported hardware - - invalid perf measurements - - sysfs inconsistencies - - or warnings due to misconfigured or non-existent counters + * The above could again lead to: + - incorrect event exposure on unsupported hardware + - invalid perf measurements + - sysfs inconsistencies + - or warnings due to misconfigured or non-existent counters - * Only new code is added by this commit - none is changed nor removed. + * Only new code is added by this commit - none is changed nor removed. - * These CPU MF counters and their handling is unique to s390x, - hence no other architectures are be affected. + * These CPU MF counters and their handling is unique to s390x, + hence no other architectures are be affected. [ Other Info ] - * The CPU MF hw counters themselves are part of the kernel: - dc7cafd91cba ("s390/cpumf: Update CPU Measurement facility extended - counter set support") and are handled in kernel SRU LP#2114258. + * The CPU MF hw counters themselves are part of the kernel: + dc7cafd91cba ("s390/cpumf: Update CPU Measurement facility extended + counter set support") and are handled in kernel SRU LP#2114258. - * Hence there is no harm to have the support in s390-tools before having - in the kernel, since in this case the new type info will just not be used. - In case the kernel has support first and libutils is used, - libutil will report "Unknown machine type". + * Hence there is no harm to have the support in s390-tools before having + in the kernel, since in this case the new type info will just not be used. + In case the kernel has support first and libutils is used, + libutil will report "Unknown machine type". __________ Feature Description: Support for CPU-MF counters of new IBM Z hardware in kernel, s390-tools, perf (kernel) and libpfm4. This part covers the s390-tools changes to lscpumf and libutil. The related patches / commit IDs will be provided as soon as the required information has been publicly disclosed. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2103414 Title: [25.04 FEAT] [post announcement] [KRN2304] CPU-MF Counters for new IBM Z hardware - s390-tools part To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/2103414/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs