I'm trying out VTune on Debian Testing (Wheezy), which is now running the Linux 3.0 kernel. VTune doesn't appear to recognize the 3.0 version number.
By hacking the build scripts, I was able to get the kernel module to build with a few tweaks (patch below).The "Advanced Intel Microarchitecture Codename Sandy Bridge" category works.
However, the "Algorithm Analysis" category doesn't work. I get the error message "Error: 3.0 is not a supported linux release". I think this uses the "pin" tool (www.pintool.org), and that isn't open source, so I'm stuck here.Anyone have any ideas on getting VTune to work with the 3.0 kernel?
Patch for kernel module:
[diff]diff -ur src/lwpmudrv.c src2/lwpmudrv.c --- src/lwpmudrv.c 2011-06-14 06:23:32.000000000 -0700 +++ src2/lwpmudrv.c 2011-08-18 21:43:06.424439181 -0700 @@ -138,7 +138,8 @@ U32 cur_device = 0; LWPMU_DEVICE devices = NULL; -static spinlock_t ioctl_lock = SPIN_LOCK_UNLOCKED; +//static spinlock_t ioctl_lock = SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(ioctl_lock); #define PMU_DEVICES 2 // pmu, mod #define OTHER_PMU_DEVICES 1 // mod diff -ur src/output.c src2/output.c --- src/output.c 2011-06-14 06:23:32.000000000 -0700 +++ src2/output.c 2011-08-18 21:44:00.700436295 -0700 @@ -409,7 +409,8 @@ } } outbuf = &(BUFFER_DESC_outbuf(desc)); - OUTPUT_buffer_lock(outbuf) = SPIN_LOCK_UNLOCKED; + //OUTPUT_buffer_lock(outbuf) = SPIN_LOCK_UNLOCKED; + spin_lock_init(&OUTPUT_buffer_lock(outbuf)); for (j = 0; j