This patch fixes/enables the following:
* Fix typo bug in xenperf tool.
* Increase the size of percpu data area from 4K to 8K to accommodate larger PERFCOUNTER_ARRAY.
* Increase the size of svmexits PERFCOUNTER_ARRAY to include nested paging perf counter.
Signed-off-by: Stephen Wilson <stephen.wilson@xxxxxxx>
diff -r b28ae5f00553 tools/misc/xenperf.c
--- a/tools/misc/xenperf.c Tue Oct 23 09:26:43 2007 +0100
+++ b/tools/misc/xenperf.c Mon Oct 29 16:24:53 2007 +0000
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
if ( pcd == NULL
|| lock_pages(pcd, sizeof(*pcd) * num_desc) != 0
|| pcv == NULL
- || lock_pages(pcd, sizeof(*pcv) * num_val) != 0)
+ || lock_pages(pcv, sizeof(*pcv) * num_val) != 0)
{
fprintf(stderr, "Could not alloc or lock buffers: %d (%s)\n",
errno, strerror(errno));
diff -r b28ae5f00553 xen/include/asm-x86/percpu.h
--- a/xen/include/asm-x86/percpu.h Tue Oct 23 09:26:43 2007 +0100
+++ b/xen/include/asm-x86/percpu.h Mon Oct 29 17:02:16 2007 +0000
@@ -1,7 +1,7 @@
#ifndef __X86_PERCPU_H__
#define __X86_PERCPU_H__
-#define PERCPU_SHIFT 12
+#define PERCPU_SHIFT 13
#define PERCPU_SIZE (1UL << PERCPU_SHIFT)
/* Separate out the type, so (int[3], foo) works. */
diff -r b28ae5f00553 xen/include/asm-x86/perfc_defn.h
--- a/xen/include/asm-x86/perfc_defn.h Tue Oct 23 09:26:43 2007 +0100
+++ b/xen/include/asm-x86/perfc_defn.h Mon Oct 29 16:26:31 2007 +0000
@@ -9,7 +9,7 @@ PERFCOUNTER_ARRAY(vmexits,
PERFCOUNTER_ARRAY(vmexits, "vmexits", VMX_PERF_EXIT_REASON_SIZE)
PERFCOUNTER_ARRAY(cause_vector, "cause vector", VMX_PERF_VECTOR_SIZE)
-#define SVM_PERF_EXIT_REASON_SIZE (1+136)
+#define SVM_PERF_EXIT_REASON_SIZE (1+1024)
PERFCOUNTER_ARRAY(svmexits, "SVMexits", SVM_PERF_EXIT_REASON_SIZE)
PERFCOUNTER(seg_fixups, "segmentation fixups")