summaryrefslogtreecommitdiffstats
path: root/kernel/tracepoint.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-06-25 22:40:43 -0700
committerDavid S. Miller <davem@davemloft.net>2014-06-25 22:40:43 -0700
commit9b8d90b963dcc6d3f3f6a616b3547ea1c8b03525 (patch)
treebca8230897630ca6721bdd7b959142984afa256a /kernel/tracepoint.c
parent644a918d20336a7deaa81f675c3c2f25bf3dafbb (diff)
parentd7933ab727ed035bdf420d7381b831ba959cecc5 (diff)
downloadop-kernel-dev-9b8d90b963dcc6d3f3f6a616b3547ea1c8b03525.zip
op-kernel-dev-9b8d90b963dcc6d3f3f6a616b3547ea1c8b03525.tar.gz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'kernel/tracepoint.c')
-rw-r--r--kernel/tracepoint.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index 33cbd8c..3490407 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -492,33 +492,29 @@ static int sys_tracepoint_refcount;
void syscall_regfunc(void)
{
- unsigned long flags;
- struct task_struct *g, *t;
+ struct task_struct *p, *t;
if (!sys_tracepoint_refcount) {
- read_lock_irqsave(&tasklist_lock, flags);
- do_each_thread(g, t) {
- /* Skip kernel threads. */
- if (t->mm)
- set_tsk_thread_flag(t, TIF_SYSCALL_TRACEPOINT);
- } while_each_thread(g, t);
- read_unlock_irqrestore(&tasklist_lock, flags);
+ read_lock(&tasklist_lock);
+ for_each_process_thread(p, t) {
+ set_tsk_thread_flag(t, TIF_SYSCALL_TRACEPOINT);
+ }
+ read_unlock(&tasklist_lock);
}
sys_tracepoint_refcount++;
}
void syscall_unregfunc(void)
{
- unsigned long flags;
- struct task_struct *g, *t;
+ struct task_struct *p, *t;
sys_tracepoint_refcount--;
if (!sys_tracepoint_refcount) {
- read_lock_irqsave(&tasklist_lock, flags);
- do_each_thread(g, t) {
+ read_lock(&tasklist_lock);
+ for_each_process_thread(p, t) {
clear_tsk_thread_flag(t, TIF_SYSCALL_TRACEPOINT);
- } while_each_thread(g, t);
- read_unlock_irqrestore(&tasklist_lock, flags);
+ }
+ read_unlock(&tasklist_lock);
}
}
#endif
OpenPOWER on IntegriCloud