#include <linux/ftrace.h>
#include <linux/tracepoint.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/rv.h>
#include <rv/instrumentation.h>
#include <rv/da_monitor.h>
#define MODULE_NAME …
#include <trace/events/rv.h>
#include <trace/events/sched.h>
#include <trace/events/preemptirq.h>
#include "wip.h"
static struct rv_monitor rv_wip;
DECLARE_DA_MON_PER_CPU(wip, unsigned char);
static void handle_preempt_disable(void *data, unsigned long ip, unsigned long parent_ip)
{ … }
static void handle_preempt_enable(void *data, unsigned long ip, unsigned long parent_ip)
{ … }
static void handle_sched_waking(void *data, struct task_struct *task)
{ … }
static int enable_wip(void)
{ … }
static void disable_wip(void)
{ … }
static struct rv_monitor rv_wip = …;
static int __init register_wip(void)
{ … }
static void __exit unregister_wip(void)
{ … }
module_init(…) …;
module_exit(unregister_wip);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;