File itrace-on_each_cpu-fix.patch of Package itrace
---
src/driver/i386/pi_cpuinit.c | 2 +-
src/driver/i386/pi_itrace.c | 12 ++++++------
src/driver/i386/pi_tprof.c | 4 ++--
src/driver/pi_btrace.c | 4 ++--
src/driver/pi_counters.c | 16 ++++++++--------
src/driver/pi_ctrevent.c | 6 +++---
src/driver/pi_ioctl.c | 3 +--
src/driver/pi_ki.c | 2 +-
src/driver/pi_ptt.c | 4 ++--
src/driver/x86_64/pi_itrace.c | 12 ++++++------
src/stap/pi_itrace.template | 2 +-
11 files changed, 33 insertions(+), 34 deletions(-)
--- a/src/driver/i386/pi_cpuinit.c
+++ b/src/driver/i386/pi_cpuinit.c
@@ -577,7 +577,7 @@ int pitrace_cpu_init(void)
#endif
// read apic id and set logical numbers
- on_each_cpu(set_log_number, 0, 1, 1);
+ on_each_cpu(set_log_number, 0, 1);
// Check whether max apic id OK
for (i = 0; i < driver_info.num_cpus; ++i) {
--- a/src/driver/i386/pi_itrace.c
+++ b/src/driver/i386/pi_itrace.c
@@ -267,7 +267,7 @@ int ITrace_install(uint32_t instflag)
if (PU_FAILURE == pi_install_restore_patch())
return(PU_FAILURE);
#endif
- on_each_cpu(pi_install_syscall_patch, 0, 0, 0);
+ on_each_cpu(pi_install_syscall_patch, 0, 0);
#endif
@@ -299,7 +299,7 @@ int ITrace_remove(void)
if ( driver_info.itrace_installed ) {
// Handlers are installed - remove them
- on_each_cpu(pi_remove_syscall_patch, 0, 0, 0);
+ on_each_cpu(pi_remove_syscall_patch, 0, 0);
}
#endif
@@ -359,8 +359,8 @@ int ITrace_on(void)
// set single step
- on_each_cpu(SetBTFInDebugCtlMsr, 0, 1, 1);
- on_each_cpu(SetTFInEflags, 0, 1, 1);
+ on_each_cpu(SetBTFInDebugCtlMsr, 0, 1);
+ on_each_cpu(SetTFInEflags, 0, 1);
// start tracing
driver_info.itrace_active = 1;
@@ -1315,7 +1315,7 @@ int PI_install_irq_detect(void)
perf_need_no_exceptions = 1;
- on_each_cpu(PITRACE_InstallHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_InstallHandlers, 0, 0);
PDEBUG("PI_install_irq_detect: end\n");
return (0);
@@ -1339,7 +1339,7 @@ int PI_remove_irq_detect(void)
// !!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!
// Watch for per cpu IDT in Linux; a common IDT is used now
- on_each_cpu(PITRACE_RemoveHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_RemoveHandlers, 0, 0);
}
PDEBUG("PI_remove_irq_detect: end\n");
--- a/src/driver/i386/pi_tprof.c
+++ b/src/driver/i386/pi_tprof.c
@@ -118,7 +118,7 @@ int ArmTprofInterrupt(void)
if (driver_info.apic_system && !driver_info.tprof_interrupt_armed) {
- on_each_cpu(IpiProgramLocalApic, 0, 1, 1);
+ on_each_cpu(IpiProgramLocalApic, 0, 1);
driver_info.tprof_interrupt_armed = 1;
MappedData->TprofInterruptArmed = 1;
@@ -156,7 +156,7 @@ int DisarmTprofInterrupt(void)
MappedData->TprofInterruptArmed = 0;
if (driver_info.apic_system) {
- on_each_cpu(IpiRestoreLocalApic, 0, 1, 1);
+ on_each_cpu(IpiRestoreLocalApic, 0, 1);
}
spin_unlock(&TprofArmDisarmLock);
return (0);
--- a/src/driver/pi_btrace.c
+++ b/src/driver/pi_btrace.c
@@ -271,7 +271,7 @@ int SoftTraceOff(void)
unload_MTE_handler(NULL);
- on_each_cpu(btrace_get_end_time, 0, 1, 1);
+ on_each_cpu(btrace_get_end_time, 0, 1);
#ifdef PI_DEBUG
for (i = 0; i < driver_info.num_cpus; ++i)
@@ -306,7 +306,7 @@ int SoftTraceOn(void)
return(PU_FAILURE);
#ifndef STAP_ITRACE
- on_each_cpu(btrace_get_start_time, 0, 1, 1);
+ on_each_cpu(btrace_get_start_time, 0, 1);
preempt_disable();
--- a/src/driver/pi_counters.c
+++ b/src/driver/pi_counters.c
@@ -514,7 +514,7 @@ int PerfWriteMsr(int msr, int cpu, uint6
mc.write_value = value;
mc.cpu = cpu;
- on_each_cpu(IpiWriteMsr, (void *)&mc, 1, 1);
+ on_each_cpu(IpiWriteMsr, (void *)&mc, 1);
PDEBUG("<< PerfWriteMsr \n");
return(0);
@@ -537,7 +537,7 @@ int PerfReadMsr(int msr, int cpu, UINT64
mc.read_values = msr_values;
mc.cpu = cpu;
- on_each_cpu(IpiReadMsr, (void *)&mc, 1, 1);
+ on_each_cpu(IpiReadMsr, (void *)&mc, 1);
PDEBUG("<< PerfReadMsr \n");
return(0);
@@ -660,7 +660,7 @@ int PerfCtrStop(int ctr, int cpu)
temp_ctr_cpu.ctr = ctr;
temp_ctr_cpu.cpu = cpu;
- on_each_cpu(IpiPerfCtrStop, (void *)&temp_ctr_cpu, 1, 1);
+ on_each_cpu(IpiPerfCtrStop, (void *)&temp_ctr_cpu, 1);
return(0);
}
@@ -722,7 +722,7 @@ int PerfCtrStart(int cpu, int NumDesc, P
#endif
// Do it
ipi_ctrl.data = &cd[i];
- on_each_cpu(IpiPerfCtrStart, (void *)&ipi_ctrl, 1, 1);
+ on_each_cpu(IpiPerfCtrStart, (void *)&ipi_ctrl, 1);
}
return(PU_SUCCESS);
@@ -748,7 +748,7 @@ int PerfCtrResume(int ctr, int cpu)
temp_ctr_cpu.ctr = ctr;
temp_ctr_cpu.cpu = cpu;
- on_each_cpu(IpiPerfCtrResume, (void *)&temp_ctr_cpu, 1, 1);
+ on_each_cpu(IpiPerfCtrResume, (void *)&temp_ctr_cpu, 1);
return(0);
}
@@ -774,7 +774,7 @@ int PerfCtrSet(int ctr, int cpu, uint64_
temp_ctr_cpu.cpu = cpu;
temp_ctr_cpu.value = value;
- on_each_cpu(IpiPerfCtrSet, (void *)&temp_ctr_cpu, 1, 1);
+ on_each_cpu(IpiPerfCtrSet, (void *)&temp_ctr_cpu, 1);
return(0);
}
@@ -799,7 +799,7 @@ int PerfCtrRead(int ctr, int cpu, uint64
temp_ctr_cpu.read_values = ctr_val;
temp_ctr_cpu.read_cycles = cyc_val;
- on_each_cpu(IpiPerfCtrRead, (void *)&temp_ctr_cpu, 1, 1);
+ on_each_cpu(IpiPerfCtrRead, (void *)&temp_ctr_cpu, 1);
return(0);
}
@@ -818,7 +818,7 @@ int PerfCtrReadAll(int cpu, PERFCTR_DATA
ipi_ctrl.data = pd;
ipi_ctrl.cpu = cpu;
- on_each_cpu(IpiPerfCtrReadAll, (void *)&ipi_ctrl, 1, 1);
+ on_each_cpu(IpiPerfCtrReadAll, (void *)&ipi_ctrl, 1);
return(0);
}
--- a/src/driver/pi_ctrevent.c
+++ b/src/driver/pi_ctrevent.c
@@ -789,7 +789,7 @@ int PerfStartCounterEvent(int event, int
if (rc == 0) {
// Once we know we have all we need, the request can't fail!
PDEBUG("-- PerfStartCounterEvent: edef=%p\n", edef);
- on_each_cpu(IpiStartEvent, (void *)&pi_evt_control, 1, 1);
+ on_each_cpu(IpiStartEvent, (void *)&pi_evt_control);
for (i = 0; i < driver_info.num_cpus; i++) {
for (s = 0; s < driver_info.max_counter_events; s++) {
@@ -875,7 +875,7 @@ int ManipulateEvent(int event, int funct
ec.function = function;
ec.slot = s;
- on_each_cpu(IpiManipulateEvent, (void *)&ec, 1, 1);
+ on_each_cpu(IpiManipulateEvent, (void *)&ec);
spin_unlock(&CtrAccessLock);
@@ -1039,7 +1039,7 @@ int PerfGetCounterForEvent(int event, UI
ec.ctr_values = ctr_values;
ec.cyc_values = cyc_values;
- on_each_cpu(IpiGetCounterForEvent, (void *)&ec, 1, 1);
+ on_each_cpu(IpiGetCounterForEvent, (void *)&ec);
// memcpy((void *)ctr_values, (void *)cv, MappedData->CtrValueArraySize);
// if (cyc_values != NULL)
--- a/src/driver/pi_ioctl.c
+++ b/src/driver/pi_ioctl.c
@@ -551,7 +551,7 @@ int pitrace_ioctl(unsigned int tcommand,
//
case CMD_READ_CYCLES_ON_ALL_CPUS:
- on_each_cpu(IpiReadCyclesOnAllProcessors, 0, 1, 1);
+ on_each_cpu(IpiReadCyclesOnAllProcessors, 0, 1);
break;
//
@@ -1138,7 +1138,6 @@ int pitrace_ioctl(unsigned int tcommand,
in_pr->val3); // flags
break;
}
-
//************** MISC **************
case CMD_STEALSYSMEM:
--- a/src/driver/pi_ki.c
+++ b/src/driver/pi_ki.c
@@ -112,7 +112,7 @@ int KI_EnableHook(void)
// IPI because I want to set the current timestamp using each
// processor's TSC.
//
- on_each_cpu(IpiAiInitializeCounters, 0, 1, 1);
+ on_each_cpu(IpiAiInitializeCounters, 0, 1);
//
// Set this processor's state: He is busy (because we're running).
--- a/src/driver/pi_ptt.c
+++ b/src/driver/pi_ptt.c
@@ -467,7 +467,7 @@ int PttTerminate(void)
PttDataEntrySize = MappedData->PttDataEntrySize = sizeof(KERNEL_PTT_DATA);
spin_unlock(&ptt_buf_lock);
- on_each_cpu(ptt_cpu_terminate, 0, 1, 1);
+ on_each_cpu(ptt_cpu_terminate, 0, 1);
// use_counters = 0;
@@ -573,7 +573,7 @@ int PttInit2(void)
if (PU_SUCCESS != rc)
return (rc);
- on_each_cpu(ptt_cpu_init, 0, 1, 1);
+ on_each_cpu(ptt_cpu_init, 0, 1);
cpu = get_cpu();
c = &MappedData->cpuData[cpu];
--- a/src/driver/x86_64/pi_itrace.c
+++ b/src/driver/x86_64/pi_itrace.c
@@ -216,7 +216,7 @@ int ITrace_install(uint32_t instflag)
perf_need_no_exceptions = 0;
if ( !driver_info.itrace_installed ) {
- on_each_cpu(PITRACE_InstallHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_InstallHandlers, 0, 0);
driver_info.itrace_installed = 1;
MappedData->ItraceHandlersInstalled = 1;
}
@@ -247,7 +247,7 @@ int ITrace_remove(void)
// !!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!
// Watch for per cpu IDT in Linux; a common IDT is used now
- on_each_cpu(PITRACE_RemoveHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_RemoveHandlers, 0, 0);
}
driver_info.itrace_installed = 0;
@@ -311,8 +311,8 @@ int ITrace_on(void)
// set single step
- on_each_cpu(SetBTFInDebugCtlMsr, 0, 1, 1);
- on_each_cpu(SetTFInEflags, 0, 1, 1);
+ on_each_cpu(SetBTFInDebugCtlMsr, 0, 1);
+ on_each_cpu(SetTFInEflags, 0, 1);
// start tracing
driver_info.itrace_active = 1;
@@ -1231,7 +1231,7 @@ int PI_remove_irq_detect(void)
// !!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!
// Watch for per cpu IDT in Linux; a common IDT is used now
- on_each_cpu(PITRACE_RemoveHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_RemoveHandlers, 0, 0);
}
PDEBUG("PI_remove_irq_detect: end\n");
@@ -1257,7 +1257,7 @@ int PI_install_irq_detect(void)
perf_need_no_exceptions = 1;
- on_each_cpu(PITRACE_InstallHandlers, 0, 0, 0);
+ on_each_cpu(PITRACE_InstallHandlers, 0, 0);
PDEBUG("PI_install_irq_detect: end\n");
return (0);
--- a/src/stap/pi_itrace.template
+++ b/src/stap/pi_itrace.template
@@ -194,7 +194,7 @@ void pi_itrace_cleanup(void)
int i;
unsigned char tempBuf[BUFFER_WRITE_CHUNK_SIZE];
- on_each_cpu(btrace_get_end_time, 0, 1, 1);
+ on_each_cpu(btrace_get_end_time, 0, 1);
for (i = 0; i < driver_info.num_cpus; i++) {
unsigned char tempBuf[BUFFER_WRITE_CHUNK_SIZE];