summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/rv.h2
-rw-r--r--kernel/trace/rv/rv.c1
-rw-r--r--kernel/trace/rv/rv.h6
-rw-r--r--kernel/trace/rv/rv_reactors.c33
4 files changed, 2 insertions, 40 deletions
diff --git a/include/linux/rv.h b/include/linux/rv.h
index c22c9b8c1567..2f867d6f72ba 100644
--- a/include/linux/rv.h
+++ b/include/linux/rv.h
@@ -91,8 +91,6 @@ struct rv_reactor {
const char *description;
__printf(1, 2) void (*react)(const char *msg, ...);
struct list_head list;
- /* protected by the monitor interface lock */
- int counter;
};
#endif
diff --git a/kernel/trace/rv/rv.c b/kernel/trace/rv/rv.c
index 6c0be2fdc52d..6c8498743b98 100644
--- a/kernel/trace/rv/rv.c
+++ b/kernel/trace/rv/rv.c
@@ -769,7 +769,6 @@ static const struct file_operations monitoring_on_fops = {
static void destroy_monitor_dir(struct rv_monitor *mon)
{
- reactor_cleanup_monitor(mon);
rv_remove(mon->root_d);
}
diff --git a/kernel/trace/rv/rv.h b/kernel/trace/rv/rv.h
index 8c38f9dd41bc..1485a70c1bf4 100644
--- a/kernel/trace/rv/rv.h
+++ b/kernel/trace/rv/rv.h
@@ -31,7 +31,6 @@ bool rv_is_nested_monitor(struct rv_monitor *mon);
#ifdef CONFIG_RV_REACTORS
int reactor_populate_monitor(struct rv_monitor *mon);
-void reactor_cleanup_monitor(struct rv_monitor *mon);
int init_rv_reactors(struct dentry *root_dir);
#else
static inline int reactor_populate_monitor(struct rv_monitor *mon)
@@ -39,11 +38,6 @@ static inline int reactor_populate_monitor(struct rv_monitor *mon)
return 0;
}
-static inline void reactor_cleanup_monitor(struct rv_monitor *mon)
-{
- return;
-}
-
static inline int init_rv_reactors(struct dentry *root_dir)
{
return 0;
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c
index 2c7909e6d0e7..a8e849e6cd85 100644
--- a/kernel/trace/rv/rv_reactors.c
+++ b/kernel/trace/rv/rv_reactors.c
@@ -172,10 +172,6 @@ static void monitor_swap_reactors_single(struct rv_monitor *mon,
if (monitor_enabled)
rv_disable_monitor(mon);
- /* swap reactor's usage */
- mon->reactor->counter--;
- reactor->counter++;
-
mon->reactor = reactor;
mon->reacting = reacting;
mon->react = reactor->react;
@@ -343,23 +339,10 @@ int rv_register_reactor(struct rv_reactor *reactor)
*/
int rv_unregister_reactor(struct rv_reactor *reactor)
{
- int ret = 0;
-
mutex_lock(&rv_interface_lock);
-
- if (!reactor->counter) {
- list_del(&reactor->list);
- } else {
- printk(KERN_WARNING
- "rv: the rv_reactor %s is in use by %d monitor(s)\n",
- reactor->name, reactor->counter);
- printk(KERN_WARNING "rv: the rv_reactor %s cannot be removed\n",
- reactor->name);
- ret = -EBUSY;
- }
-
+ list_del(&reactor->list);
mutex_unlock(&rv_interface_lock);
- return ret;
+ return 0;
}
/*
@@ -456,23 +439,11 @@ int reactor_populate_monitor(struct rv_monitor *mon)
* Configure as the rv_nop reactor.
*/
mon->reactor = get_reactor_rdef_by_name("nop");
- mon->reactor->counter++;
mon->reacting = false;
return 0;
}
-/**
- * reactor_cleanup_monitor - cleanup a monitor reference
- * @mon: the monitor.
- */
-void reactor_cleanup_monitor(struct rv_monitor *mon)
-{
- lockdep_assert_held(&rv_interface_lock);
- mon->reactor->counter--;
- WARN_ON_ONCE(mon->reactor->counter < 0);
-}
-
/*
* Nop reactor register
*/