powerpc/pseries: export timebase register sample in lparcfg
authorTyrel Datwyler <tyreld@linux.vnet.ibm.com>
Sat, 8 Dec 2018 23:48:27 +0000 (17:48 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 21 Feb 2019 13:10:15 +0000 (00:10 +1100)
The Processor Utilzation of Resource Registers (PURR) provide an
estimate of resources used by a cpu thread. Section 7.6 in Book III of
the ISA outlines how to calculate the percentage of shared resources
for threads using the ratio of the PURR delta and Timebase Register
delta for a sampled period.

This calculation is currently done erroneously by the lparstat tool
from the powerpc-utils package. This patch exports the current
timebase value after we sample the PURRs and exposes it to userspace
accounting tools via /proc/ppc64/lparcfg.

Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/lparcfg.c

index 7944873..e73c7e3 100644 (file)
@@ -475,6 +475,7 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
                splpar_dispatch_data(m);
 
                seq_printf(m, "purr=%ld\n", get_purr());
+               seq_printf(m, "tbr=%ld\n", mftb());
        } else {                /* non SPLPAR case */
 
                seq_printf(m, "system_active_processors=%d\n",