summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2011-03-16 19:05:13 -0400
committerMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>2011-03-16 19:05:13 -0400
commit554a96e3526699f5b5dd20e54d3ce5ae663e3d86 (patch)
treea432f26ac1afa664144b2642eb48cdd3983faec0 /kernel
parentacf087a21d89e77a1924594d85784993ce52c578 (diff)
markers-add-is-marker-enabled
Checks if a marker is enabled using a hash table lookup. API used by trace control module. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/marker.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/marker.c b/kernel/marker.c
index ac8ec9ff85a..7d11393185f 100644
--- a/kernel/marker.c
+++ b/kernel/marker.c
@@ -650,6 +650,25 @@ static void disable_marker(struct marker *elem)
*/
}
+/*
+ * is_marker_enabled - Check if a marker is enabled
+ * @channel: channel name
+ * @name: marker name
+ *
+ * Returns 1 if the marker is enabled, 0 if disabled.
+ */
+int is_marker_enabled(const char *channel, const char *name)
+{
+ struct marker_entry *entry;
+
+ mutex_lock(&markers_mutex);
+ entry = get_marker(channel, name);
+ mutex_unlock(&markers_mutex);
+
+ return entry && !!entry->refcount;
+}
+EXPORT_SYMBOL_GPL(is_marker_enabled);
+
/**
* marker_update_probe_range - Update a probe range
* @begin: beginning of the range