[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1549656647-25115-2-git-send-email-bfields@redhat.com>
Date: Fri, 8 Feb 2019 15:10:41 -0500
From: "J. Bruce Fields" <bfields@...hat.com>
To: linux-nfs@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Trond Myklebust <trondmy@...merspace.com>,
Jeff Layton <jlayton@...hat.com>,
David Howells <dhowells@...hat.com>, Tejun Heo <tj@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Shaohua Li <shli@...com>, Oleg Nesterov <oleg@...hat.com>,
"J. Bruce Fields" <bfields@...hat.com>
Subject: [PATCH 1/7] kthreads: minor kthreadd refactoring
From: "J. Bruce Fields" <bfields@...hat.com>
Trivial refactoring, no change in behavior.
Not really necessary, a separate function for the inner loop just seems
a little nicer to me.
Signed-off-by: J. Bruce Fields <bfields@...hat.com>
---
kernel/kthread.c | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/kernel/kthread.c b/kernel/kthread.c
index 087d18d771b5..672f0bbf4d89 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -556,6 +556,24 @@ int kthread_stop(struct task_struct *k)
}
EXPORT_SYMBOL(kthread_stop);
+void kthread_do_work(void)
+{
+ spin_lock(&kthread_create_lock);
+ while (!list_empty(&kthread_create_list)) {
+ struct kthread_create_info *create;
+
+ create = list_entry(kthread_create_list.next,
+ struct kthread_create_info, list);
+ list_del_init(&create->list);
+ spin_unlock(&kthread_create_lock);
+
+ create_kthread(create);
+
+ spin_lock(&kthread_create_lock);
+ }
+ spin_unlock(&kthread_create_lock);
+}
+
int kthreadd(void *unused)
{
struct task_struct *tsk = current;
@@ -575,20 +593,7 @@ int kthreadd(void *unused)
schedule();
__set_current_state(TASK_RUNNING);
- spin_lock(&kthread_create_lock);
- while (!list_empty(&kthread_create_list)) {
- struct kthread_create_info *create;
-
- create = list_entry(kthread_create_list.next,
- struct kthread_create_info, list);
- list_del_init(&create->list);
- spin_unlock(&kthread_create_lock);
-
- create_kthread(create);
-
- spin_lock(&kthread_create_lock);
- }
- spin_unlock(&kthread_create_lock);
+ kthread_do_work();
}
return 0;
--
2.20.1
Powered by blists - more mailing lists