Hi,
After installing vtune_aplifier_xe_2013, I tried to build driver.
cd /opt/intel/vtune_amplifier_xe_2013/powerdk/src
./build_driver
In file included from /opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:109:
include/trace/events/workqueue.h:37: warning: âstruct cpu_workqueue_structâ declared inside parameter list
include/trace/events/workqueue.h:37: warning: its scope is only this definition or declaration, which is probably not what you want
include/trace/events/workqueue.h:37: warning: âstruct cpu_workqueue_structâ declared inside parameter list
include/trace/events/workqueue.h:37: warning: âstruct cpu_workqueue_structâ declared inside parameter list
include/trace/events/workqueue.h:37: warning: âstruct cpu_workqueue_structâ declared inside parameter list
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c: In function âregister_non_pausable_probesâ:
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:4954: error: âprobe_cpu_idleâ undeclared (first use in this function)
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:4954: error: (Each undeclared identifier is reported only once
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:4954: error: for each function it appears in.)
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c: In function âunregister_non_pausable_probesâ:
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:5046: error: âprobe_cpu_idleâ undeclared (first use in this function)
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c: In function âpw_alrm_suspend_notifier_callback_iâ:
/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.c:6631: warning: ISO C90 forbids mixed declarations and code
make[2]: *** [/opt/intel/vtune_amplifier_xe_2013/powerdk/src/src/apwr_driver.o] Error 1
make[1]: *** [_module_/opt/intel/vtune_amplifier_xe_2013/powerdk/src] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
It complains probe_cpu_idle is not defined. In apwr_driver.c, it seems probe_cpu_idle is defined:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
static void probe_power_start(unsigned int type, unsigned int state)
#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
static void probe_power_start(void *ignore, unsigned int type, unsigned int state)
#else // 2.6.36 <= version < 2.6.38
static void probe_power_start(void *ignore, unsigned int type, unsigned int state, unsigned int cpu_id)
#endif
{
// tps_i(type, state);
DO_PER_CPU_OVERHEAD_FUNC(tps, type, state);
};
#else // version >= 2.6.38
static void probe_cpu_idle(void *ignore, unsigned int state, unsigned int cpu_id)
{
if (state == PWR_EVENT_EXIT) {
return;
}
// tps_i(type, state);
DO_PER_CPU_OVERHEAD_FUNC(tps, 0 /*type*/, state);
};
#endif // version
#endif // APWR_RED_HAT
I am using OEL(based on RedHat) kernel 2.6.39-200.24.1.el6uek.x86_64. gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
Any suggestions how I should fix this?
Regards,
Jenny

