Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52f6ad6d authored by zhangwei(Jovi)'s avatar zhangwei(Jovi) Committed by Steven Rostedt
Browse files

tracing: Rename trace_event_mutex to trace_event_sem

trace_event_mutex is an rw semaphore now, not a mutex, change the name.

Link: http://lkml.kernel.org/r/513D843B.40109@huawei.com



Signed-off-by: default avatarzhangwei(Jovi) <jovi.zhangwei@huawei.com>
[ Forward ported to my new code ]
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 36a78e9e
Loading
Loading
Loading
Loading
+11 −11
Original line number Original line Diff line number Diff line
@@ -1584,7 +1584,7 @@ int trace_add_event_call(struct ftrace_event_call *call)
}
}


/*
/*
 * Must be called under locking both of event_mutex and trace_event_mutex.
 * Must be called under locking both of event_mutex and trace_event_sem.
 */
 */
static void __trace_remove_event_call(struct ftrace_event_call *call)
static void __trace_remove_event_call(struct ftrace_event_call *call)
{
{
@@ -1597,9 +1597,9 @@ static void __trace_remove_event_call(struct ftrace_event_call *call)
void trace_remove_event_call(struct ftrace_event_call *call)
void trace_remove_event_call(struct ftrace_event_call *call)
{
{
	mutex_lock(&event_mutex);
	mutex_lock(&event_mutex);
	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	__trace_remove_event_call(call);
	__trace_remove_event_call(call);
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);
	mutex_unlock(&event_mutex);
	mutex_unlock(&event_mutex);
}
}


@@ -1707,7 +1707,7 @@ static void trace_module_remove_events(struct module *mod)
	struct ftrace_event_call *call, *p;
	struct ftrace_event_call *call, *p;
	bool clear_trace = false;
	bool clear_trace = false;


	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	list_for_each_entry_safe(call, p, &ftrace_events, list) {
	list_for_each_entry_safe(call, p, &ftrace_events, list) {
		if (call->mod == mod) {
		if (call->mod == mod) {
			if (call->flags & TRACE_EVENT_FL_WAS_ENABLED)
			if (call->flags & TRACE_EVENT_FL_WAS_ENABLED)
@@ -1725,7 +1725,7 @@ static void trace_module_remove_events(struct module *mod)
		list_del(&file_ops->list);
		list_del(&file_ops->list);
		kfree(file_ops);
		kfree(file_ops);
	}
	}
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


	/*
	/*
	 * It is safest to reset the ring buffer if the module being unloaded
	 * It is safest to reset the ring buffer if the module being unloaded
@@ -2262,9 +2262,9 @@ int event_trace_add_tracer(struct dentry *parent, struct trace_array *tr)
	if (ret)
	if (ret)
		goto out_unlock;
		goto out_unlock;


	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	__trace_add_event_dirs(tr);
	__trace_add_event_dirs(tr);
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


 out_unlock:
 out_unlock:
	mutex_unlock(&event_mutex);
	mutex_unlock(&event_mutex);
@@ -2287,9 +2287,9 @@ early_event_add_tracer(struct dentry *parent, struct trace_array *tr)
	if (ret)
	if (ret)
		goto out_unlock;
		goto out_unlock;


	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	__trace_early_add_event_dirs(tr);
	__trace_early_add_event_dirs(tr);
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


 out_unlock:
 out_unlock:
	mutex_unlock(&event_mutex);
	mutex_unlock(&event_mutex);
@@ -2304,10 +2304,10 @@ int event_trace_del_tracer(struct trace_array *tr)


	mutex_lock(&event_mutex);
	mutex_lock(&event_mutex);


	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	__trace_remove_event_dirs(tr);
	__trace_remove_event_dirs(tr);
	debugfs_remove_recursive(tr->event_dir);
	debugfs_remove_recursive(tr->event_dir);
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


	tr->event_dir = NULL;
	tr->event_dir = NULL;


+8 −8
Original line number Original line Diff line number Diff line
@@ -14,7 +14,7 @@
/* must be a power of 2 */
/* must be a power of 2 */
#define EVENT_HASHSIZE	128
#define EVENT_HASHSIZE	128


DECLARE_RWSEM(trace_event_mutex);
DECLARE_RWSEM(trace_event_sem);


static struct hlist_head event_hash[EVENT_HASHSIZE] __read_mostly;
static struct hlist_head event_hash[EVENT_HASHSIZE] __read_mostly;


@@ -826,12 +826,12 @@ static int trace_search_list(struct list_head **list)


void trace_event_read_lock(void)
void trace_event_read_lock(void)
{
{
	down_read(&trace_event_mutex);
	down_read(&trace_event_sem);
}
}


void trace_event_read_unlock(void)
void trace_event_read_unlock(void)
{
{
	up_read(&trace_event_mutex);
	up_read(&trace_event_sem);
}
}


/**
/**
@@ -854,7 +854,7 @@ int register_ftrace_event(struct trace_event *event)
	unsigned key;
	unsigned key;
	int ret = 0;
	int ret = 0;


	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);


	if (WARN_ON(!event))
	if (WARN_ON(!event))
		goto out;
		goto out;
@@ -909,14 +909,14 @@ int register_ftrace_event(struct trace_event *event)


	ret = event->type;
	ret = event->type;
 out:
 out:
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


	return ret;
	return ret;
}
}
EXPORT_SYMBOL_GPL(register_ftrace_event);
EXPORT_SYMBOL_GPL(register_ftrace_event);


/*
/*
 * Used by module code with the trace_event_mutex held for write.
 * Used by module code with the trace_event_sem held for write.
 */
 */
int __unregister_ftrace_event(struct trace_event *event)
int __unregister_ftrace_event(struct trace_event *event)
{
{
@@ -931,9 +931,9 @@ int __unregister_ftrace_event(struct trace_event *event)
 */
 */
int unregister_ftrace_event(struct trace_event *event)
int unregister_ftrace_event(struct trace_event *event)
{
{
	down_write(&trace_event_mutex);
	down_write(&trace_event_sem);
	__unregister_ftrace_event(event);
	__unregister_ftrace_event(event);
	up_write(&trace_event_mutex);
	up_write(&trace_event_sem);


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry);


/* used by module unregistering */
/* used by module unregistering */
extern int __unregister_ftrace_event(struct trace_event *event);
extern int __unregister_ftrace_event(struct trace_event *event);
extern struct rw_semaphore trace_event_mutex;
extern struct rw_semaphore trace_event_sem;


#define MAX_MEMHEX_BYTES	8
#define MAX_MEMHEX_BYTES	8
#define HEX_CHARS		(MAX_MEMHEX_BYTES*2 + 1)
#define HEX_CHARS		(MAX_MEMHEX_BYTES*2 + 1)