|
|
e6fbf9 |
commit dc643f4a460063a628b4bfba57dbbb36673a0789
|
|
|
e6fbf9 |
Author: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
Date: Thu Jul 11 17:48:03 2019 -0700
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
s390/cpumf: add IBM z14 ZR1 support
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
Add support for machine type 0x3907.
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
index 4e03fc4..7566aa0 100644
|
|
|
e6fbf9 |
--- a/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
+++ b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
@@ -192,6 +192,7 @@ static int pfm_cpumcf_init(void *this)
|
|
|
e6fbf9 |
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z13_counters);
|
|
|
e6fbf9 |
break;
|
|
|
e6fbf9 |
case 3906: /* IBM z14 */
|
|
|
e6fbf9 |
+ case 3907: /* IBM z14 ZR1 */
|
|
|
e6fbf9 |
ext_set = cpumcf_z14_counters;
|
|
|
e6fbf9 |
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z14_counters);
|
|
|
e6fbf9 |
break;
|
|
|
e6fbf9 |
commit c08003fb085e23f2229e58cc176fcfcf58a3b238
|
|
|
e6fbf9 |
Author: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
Date: Thu Jul 11 17:49:42 2019 -0700
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
s390/cpumf: add support for counter second version number 6
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
IBM added secound version number 6 in the CPU Measurement
|
|
|
e6fbf9 |
Counter facility to indicate additional counters in the
|
|
|
e6fbf9 |
crypto counter set.
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
diff --git a/lib/events/s390x_cpumf_events.h b/lib/events/s390x_cpumf_events.h
|
|
|
e6fbf9 |
index 8be1d55..8587a3b 100644
|
|
|
e6fbf9 |
--- a/lib/events/s390x_cpumf_events.h
|
|
|
e6fbf9 |
+++ b/lib/events/s390x_cpumf_events.h
|
|
|
e6fbf9 |
@@ -13,6 +13,8 @@
|
|
|
e6fbf9 |
#define CPUMF_CTRSET_EXTENDED 1
|
|
|
e6fbf9 |
#define CPUMF_CTRSET_MT_DIAG 32
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
+#define CPUMF_SVN6_ECC 4
|
|
|
e6fbf9 |
+
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
static const pme_cpumf_ctr_t cpumcf_fvn1_counters[] = {
|
|
|
e6fbf9 |
{
|
|
|
e6fbf9 |
@@ -270,6 +272,43 @@ static const pme_cpumf_ctr_t cpumcf_svn_generic_counters[] = {
|
|
|
e6fbf9 |
" coprocessor is busy performing a function issued by"
|
|
|
e6fbf9 |
" another CPU",
|
|
|
e6fbf9 |
},
|
|
|
e6fbf9 |
+ {
|
|
|
e6fbf9 |
+ .ctrnum = 80,
|
|
|
e6fbf9 |
+ .ctrset = CPUMF_CTRSET_CRYPTO,
|
|
|
e6fbf9 |
+ .name = "ECC_FUNCTION_COUNT",
|
|
|
e6fbf9 |
+ .desc = "This counter counts the"
|
|
|
e6fbf9 |
+ " total number of the elliptic-curve cryptography (ECC)"
|
|
|
e6fbf9 |
+ " functions issued by the CPU.",
|
|
|
e6fbf9 |
+ },
|
|
|
e6fbf9 |
+ {
|
|
|
e6fbf9 |
+ .ctrnum = 81,
|
|
|
e6fbf9 |
+ .ctrset = CPUMF_CTRSET_CRYPTO,
|
|
|
e6fbf9 |
+ .name = "ECC_CYCLES_COUNT",
|
|
|
e6fbf9 |
+ .desc = "This counter counts the total"
|
|
|
e6fbf9 |
+ " number of CPU cycles when the ECC coprocessor is"
|
|
|
e6fbf9 |
+ " busy performing the elliptic-curve cryptography"
|
|
|
e6fbf9 |
+ " (ECC) functions issued by the CPU.",
|
|
|
e6fbf9 |
+ },
|
|
|
e6fbf9 |
+ {
|
|
|
e6fbf9 |
+ .ctrnum = 82,
|
|
|
e6fbf9 |
+ .ctrset = CPUMF_CTRSET_CRYPTO,
|
|
|
e6fbf9 |
+ .name = "ECC_BLOCKED_FUNCTION_COUNT",
|
|
|
e6fbf9 |
+ .desc = "This counter counts the total number of the"
|
|
|
e6fbf9 |
+ " elliptic-curve cryptography (ECC) functions that are"
|
|
|
e6fbf9 |
+ " issued by the CPU and are blocked because the ECC"
|
|
|
e6fbf9 |
+ " coprocessor is busy performing a function issued by"
|
|
|
e6fbf9 |
+ " another CPU.",
|
|
|
e6fbf9 |
+ },
|
|
|
e6fbf9 |
+ {
|
|
|
e6fbf9 |
+ .ctrnum = 83,
|
|
|
e6fbf9 |
+ .ctrset = CPUMF_CTRSET_CRYPTO,
|
|
|
e6fbf9 |
+ .name = "ECC_BLOCKED_CYCLES_COUNT",
|
|
|
e6fbf9 |
+ .desc = "This counter counts the total number of CPU cycles "
|
|
|
e6fbf9 |
+ " blocked for the elliptic-curve cryptography (ECC) "
|
|
|
e6fbf9 |
+ " functions issued by the CPU because the ECC"
|
|
|
e6fbf9 |
+ " coprocessor is busy perform ing a function issued"
|
|
|
e6fbf9 |
+ " by another CPU.",
|
|
|
e6fbf9 |
+ },
|
|
|
e6fbf9 |
};
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
static const pme_cpumf_ctr_t cpumcf_z10_counters[] = {
|
|
|
e6fbf9 |
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
index 7566aa0..e68b000 100644
|
|
|
e6fbf9 |
--- a/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
+++ b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
@@ -168,6 +168,8 @@ static int pfm_cpumcf_init(void *this)
|
|
|
e6fbf9 |
/* counters based on second version number */
|
|
|
e6fbf9 |
csvn_set = cpumcf_svn_generic_counters;
|
|
|
e6fbf9 |
csvn_set_count = LIBPFM_ARRAY_SIZE(cpumcf_svn_generic_counters);
|
|
|
e6fbf9 |
+ if (csvn < 6) /* Crypto counter set enlarged for SVN == 6 */
|
|
|
e6fbf9 |
+ csvn_set_count -= CPUMF_SVN6_ECC;
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
/* check and assign a machine-specific extended counter set */
|
|
|
e6fbf9 |
switch (get_machine_type()) {
|
|
|
e6fbf9 |
commit b831b04254ac7fd1700b20b349799810952ff66e
|
|
|
e6fbf9 |
Author: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
Date: Thu Jul 11 17:51:03 2019 -0700
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
s390/cpumf: add support for machine type 8561
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
Add extended counter set support for s390 machine types
|
|
|
e6fbf9 |
8561 and 8562.
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
|
|
|
e6fbf9 |
|
|
|
e6fbf9 |
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
index e68b000..c11f9d9 100644
|
|
|
e6fbf9 |
--- a/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
+++ b/lib/pfmlib_s390x_cpumf.c
|
|
|
e6fbf9 |
@@ -195,6 +195,8 @@ static int pfm_cpumcf_init(void *this)
|
|
|
e6fbf9 |
break;
|
|
|
e6fbf9 |
case 3906: /* IBM z14 */
|
|
|
e6fbf9 |
case 3907: /* IBM z14 ZR1 */
|
|
|
e6fbf9 |
+ case 8561: /* IBM Machine types 8561 and 8562 */
|
|
|
e6fbf9 |
+ case 8562:
|
|
|
e6fbf9 |
ext_set = cpumcf_z14_counters;
|
|
|
e6fbf9 |
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z14_counters);
|
|
|
e6fbf9 |
break;
|