static void jp_sched_switch(VTSS_TP_RQ struct task_struct *prev, struct task_struct *next) { void* prev_bp = NULL; void* prev_ip = NULL; if (prev == current && current !=0 ) { unsigned long bp; vtss_get_current_bp(bp); prev_bp = (void*)bp; prev_ip = (void*)_THIS_IP_ ; } vtss_sched_switch(prev, next, prev_bp, prev_ip); jprobe_return(); }
static void tp_sched_switch(VTSS_TP_PROTO VTSS_TP_RQ struct task_struct *prev, struct task_struct *next) { void* prev_bp = NULL; void* prev_ip = NULL; // printk("switch\n"); if (prev == current && current !=0 ) { unsigned long bp; vtss_get_current_bp(bp); prev_bp = (void*)bp; prev_ip = (void*)_THIS_IP_ ; } vtss_sched_switch(prev, next, prev_bp, prev_ip); }
static void jp_sched_switch(VTSS_TP_RQ struct task_struct *prev, struct task_struct *next) { vtss_sched_switch(prev, next); jprobe_return(); }
static void tp_sched_switch(VTSS_TP_PROTO VTSS_TP_RQ struct task_struct *prev, struct task_struct *next) { vtss_sched_switch(prev, next); }