aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/perfc.c
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-08-17 10:41:25 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-08-17 10:41:25 +0000
commitca987e6c3e2be55f3676a58c479c2d123fcba4cb (patch)
treeb4f47afffa4fe03fd53b9350e4e2ba4a25b6798c /xen/common/perfc.c
parent4fc490f0e8dd36e2a3fad8fafa1eebd7e931ace4 (diff)
downloadxen-ca987e6c3e2be55f3676a58c479c2d123fcba4cb.tar.gz
xen-ca987e6c3e2be55f3676a58c479c2d123fcba4cb.tar.bz2
xen-ca987e6c3e2be55f3676a58c479c2d123fcba4cb.zip
bitkeeper revision 1.394 (3f3f5bd5J74WkH-WgWI6a5W5aobvaQ)
Many files: Forced TLB flushes when a domain page changes type is now done more lazily. Fixed a few bugs at the same time, and cleaned up perfctr output.
Diffstat (limited to 'xen/common/perfc.c')
-rw-r--r--xen/common/perfc.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/xen/common/perfc.c b/xen/common/perfc.c
index 00f599e881..00d0505503 100644
--- a/xen/common/perfc.c
+++ b/xen/common/perfc.c
@@ -25,7 +25,7 @@ struct perfcounter_t perfcounters;
void perfc_printall(u_char key, void *dev_id, struct pt_regs *regs)
{
- int i, j;
+ int i, j, sum;
s_time_t now = NOW();
atomic_t *counters = (atomic_t *)&perfcounters;
@@ -34,27 +34,27 @@ void perfc_printall(u_char key, void *dev_id, struct pt_regs *regs)
for ( i = 0; i < NR_PERFCTRS; i++ )
{
- printk("%20s ", perfc_info[i].name);
+ printk("%-32s ", perfc_info[i].name);
switch ( perfc_info[i].type )
{
case TYPE_SINGLE:
- printk("%10d 0x%08x",
- atomic_read(&counters[0]),
- atomic_read(&counters[0]));
+ printk("TOTAL[%10d]", atomic_read(&counters[0]));
counters += 1;
break;
case TYPE_CPU:
+ for ( j = sum = 0; j < smp_num_cpus; j++ )
+ sum += atomic_read(&counters[j]);
+ printk("TOTAL[%10d] ", sum);
for ( j = 0; j < smp_num_cpus; j++ )
- printk("CPU%02d[%10d 0x%08x] ",
- j, atomic_read(&counters[j]),
- atomic_read(&counters[j]));
+ printk("CPU%02d[%10d] ", j, atomic_read(&counters[j]));
counters += NR_CPUS;
break;
case TYPE_ARRAY:
+ for ( j = sum = 0; j < perfc_info[i].nr_elements; j++ )
+ sum += atomic_read(&counters[j]);
+ printk("TOTAL[%10d] ", sum);
for ( j = 0; j < perfc_info[i].nr_elements; j++ )
- printk("ARR%02d[%10d 0x%08x] ",
- j, atomic_read(&counters[j]),
- atomic_read(&counters[j]));
+ printk("ARR%02d[%10d] ", j, atomic_read(&counters[j]));
counters += j;
break;
}