pmu: remove pmc_{init|start|stop|reset} system call
Change-Id: I6eb65ed8c18558418c7aabfee75cd1974f4c03ff
This commit is contained in:
@@ -119,12 +119,6 @@ SYSCALL_DELEGATED(241, perf_event_open)
|
|||||||
SYSCALL_HANDLED(260, wait4)
|
SYSCALL_HANDLED(260, wait4)
|
||||||
SYSCALL_HANDLED(270, process_vm_readv)
|
SYSCALL_HANDLED(270, process_vm_readv)
|
||||||
SYSCALL_HANDLED(271, process_vm_writev)
|
SYSCALL_HANDLED(271, process_vm_writev)
|
||||||
#ifdef PERF_ENABLE
|
|
||||||
SYSCALL_HANDLED(601, pmc_init)
|
|
||||||
SYSCALL_HANDLED(602, pmc_start)
|
|
||||||
SYSCALL_HANDLED(603, pmc_stop)
|
|
||||||
SYSCALL_HANDLED(604, pmc_reset)
|
|
||||||
#endif // PERF_ENABLE
|
|
||||||
SYSCALL_HANDLED(700, get_cpu_id)
|
SYSCALL_HANDLED(700, get_cpu_id)
|
||||||
#ifdef PROFILE_ENABLE
|
#ifdef PROFILE_ENABLE
|
||||||
SYSCALL_HANDLED(__NR_profile, profile)
|
SYSCALL_HANDLED(__NR_profile, profile)
|
||||||
|
|||||||
@@ -117,13 +117,6 @@ int ihk_mc_perfctr_init_raw(int counter, uint64_t config, int mode)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ihk_mc_perfctr_init(int counter, uint64_t config, int mode)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
ret = __ihk_mc_perfctr_init(counter, PERF_TYPE_RAW, config, mode);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ihk_mc_perfctr_start(unsigned long counter_mask)
|
int ihk_mc_perfctr_start(unsigned long counter_mask)
|
||||||
{
|
{
|
||||||
int ret = 0, i;
|
int ret = 0, i;
|
||||||
|
|||||||
@@ -161,10 +161,6 @@ SYSCALL_HANDLED(303, mod_call)
|
|||||||
SYSCALL_HANDLED(309, getcpu)
|
SYSCALL_HANDLED(309, getcpu)
|
||||||
SYSCALL_HANDLED(310, process_vm_readv)
|
SYSCALL_HANDLED(310, process_vm_readv)
|
||||||
SYSCALL_HANDLED(311, process_vm_writev)
|
SYSCALL_HANDLED(311, process_vm_writev)
|
||||||
SYSCALL_HANDLED(601, pmc_init)
|
|
||||||
SYSCALL_HANDLED(602, pmc_start)
|
|
||||||
SYSCALL_HANDLED(603, pmc_stop)
|
|
||||||
SYSCALL_HANDLED(604, pmc_reset)
|
|
||||||
SYSCALL_HANDLED(700, get_cpu_id)
|
SYSCALL_HANDLED(700, get_cpu_id)
|
||||||
#ifdef PROFILE_ENABLE
|
#ifdef PROFILE_ENABLE
|
||||||
SYSCALL_HANDLED(__NR_profile, profile)
|
SYSCALL_HANDLED(__NR_profile, profile)
|
||||||
|
|||||||
@@ -223,41 +223,6 @@ int ihk_mc_perfctr_init_raw(int counter, unsigned int code, int mode)
|
|||||||
#endif /*POSTK_DEBUG_TEMP_FIX_29*/
|
#endif /*POSTK_DEBUG_TEMP_FIX_29*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef POSTK_DEBUG_TEMP_FIX_29
|
|
||||||
int ihk_mc_perfctr_init(int counter, uint64_t config, int mode)
|
|
||||||
#else
|
|
||||||
int ihk_mc_perfctr_init(int counter, enum ihk_perfctr_type type, int mode)
|
|
||||||
#endif /*POSTK_DEBUG_TEMP_FIX_29*/
|
|
||||||
{
|
|
||||||
#ifdef POSTK_DEBUG_TEMP_FIX_29
|
|
||||||
enum ihk_perfctr_type type;
|
|
||||||
|
|
||||||
switch (config) {
|
|
||||||
case PERF_COUNT_HW_CPU_CYCLES :
|
|
||||||
type = APT_TYPE_CYCLE;
|
|
||||||
break;
|
|
||||||
case PERF_COUNT_HW_INSTRUCTIONS :
|
|
||||||
type = APT_TYPE_INSTRUCTIONS;
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
// Not supported config.
|
|
||||||
type = PERFCTR_MAX_TYPE;
|
|
||||||
}
|
|
||||||
#endif /*POSTK_DEBUG_TEMP_FIX_29*/
|
|
||||||
|
|
||||||
if (counter < 0 || counter >= NUM_PERF_COUNTERS) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
if (type < 0 || type >= PERFCTR_MAX_TYPE) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
if (!x86_march_perfmap[type]) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return set_perfctr_x86_direct(counter, mode, x86_march_perfmap[type]);
|
|
||||||
}
|
|
||||||
|
|
||||||
int ihk_mc_perfctr_set_extra(struct mc_perf_event *event)
|
int ihk_mc_perfctr_set_extra(struct mc_perf_event *event)
|
||||||
{
|
{
|
||||||
struct thread *thread = cpu_local_var(current);
|
struct thread *thread = cpu_local_var(current);
|
||||||
|
|||||||
@@ -9136,57 +9136,6 @@ static void do_mod_exit(int status){
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_PERF
|
|
||||||
/* select counter type */
|
|
||||||
SYSCALL_DECLARE(pmc_init)
|
|
||||||
{
|
|
||||||
int counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
|
|
||||||
enum ihk_perfctr_type type = (enum ihk_perfctr_type)ihk_mc_syscall_arg1(ctx);
|
|
||||||
/* see ihk/manycore/generic/include/ihk/perfctr.h */
|
|
||||||
|
|
||||||
int mode = PERFCTR_USER_MODE;
|
|
||||||
|
|
||||||
return ihk_mc_perfctr_init(counter, type, mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef POSTK_DEBUG_TEMP_FIX_30
|
|
||||||
SYSCALL_DECLARE(pmc_start)
|
|
||||||
{
|
|
||||||
unsigned long counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
return ihk_mc_perfctr_start((int)counter);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
SYSCALL_DECLARE(pmc_start)
|
|
||||||
{
|
|
||||||
unsigned long counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
return ihk_mc_perfctr_start(1 << counter);
|
|
||||||
}
|
|
||||||
#endif /*POSTK_DEBUG_TEMP_FIX_30*/
|
|
||||||
|
|
||||||
#ifdef POSTK_DEBUG_TEMP_FIX_30
|
|
||||||
SYSCALL_DECLARE(pmc_stop)
|
|
||||||
{
|
|
||||||
unsigned long counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
return ihk_mc_perfctr_stop((int)counter,
|
|
||||||
IHK_MC_PERFCTR_DISABLE_INTERRUPT);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
SYSCALL_DECLARE(pmc_stop)
|
|
||||||
{
|
|
||||||
unsigned long counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
return ihk_mc_perfctr_stop(1 << counter,
|
|
||||||
IHK_MC_PERFCTR_DISABLE_INTERRUPT);
|
|
||||||
}
|
|
||||||
#endif /*POSTK_DEBUG_TEMP_FIX_30*/
|
|
||||||
|
|
||||||
SYSCALL_DECLARE(pmc_reset)
|
|
||||||
{
|
|
||||||
int counter = ihk_mc_syscall_arg0(ctx);
|
|
||||||
return ihk_mc_perfctr_reset(counter);
|
|
||||||
}
|
|
||||||
#endif /*ENABLE_PERF*/
|
|
||||||
|
|
||||||
extern void save_uctx(void *, void *);
|
extern void save_uctx(void *, void *);
|
||||||
|
|
||||||
/* TODO: use copy_from_user() */
|
/* TODO: use copy_from_user() */
|
||||||
|
|||||||
@@ -59,10 +59,8 @@ enum ihk_perfctr_type {
|
|||||||
#define IHK_MC_PERFCTR_DISABLE_INTERRUPT 1
|
#define IHK_MC_PERFCTR_DISABLE_INTERRUPT 1
|
||||||
|
|
||||||
#ifdef POSTK_DEBUG_TEMP_FIX_29
|
#ifdef POSTK_DEBUG_TEMP_FIX_29
|
||||||
int ihk_mc_perfctr_init(int counter, uint64_t config, int mode);
|
|
||||||
int ihk_mc_perfctr_init_raw(int counter, uint64_t config, int mode);
|
int ihk_mc_perfctr_init_raw(int counter, uint64_t config, int mode);
|
||||||
#else
|
#else
|
||||||
int ihk_mc_perfctr_init(int counter, enum ihk_perfctr_type type, int mode);
|
|
||||||
int ihk_mc_perfctr_init_raw(int counter, unsigned int code, int mode);
|
int ihk_mc_perfctr_init_raw(int counter, unsigned int code, int mode);
|
||||||
#endif/*POSTK_DEBUG_TEMP_FIX_29*/
|
#endif/*POSTK_DEBUG_TEMP_FIX_29*/
|
||||||
int ihk_mc_perfctr_set_extra(struct mc_perf_event *event);
|
int ihk_mc_perfctr_set_extra(struct mc_perf_event *event);
|
||||||
|
|||||||
Reference in New Issue
Block a user