From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755662AbcDDOGo (ORCPT ); Mon, 4 Apr 2016 10:06:44 -0400 Received: from mail-qg0-f67.google.com ([209.85.192.67]:36264 "EHLO mail-qg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752592AbcDDOGn (ORCPT ); Mon, 4 Apr 2016 10:06:43 -0400 From: Paul Moore To: Jiri Slaby Cc: eparis@redhat.com, linux-kernel@vger.kernel.org, linux-audit@redhat.com Subject: Re: [PATCH] audit: cleanup prune_tree_thread Date: Mon, 04 Apr 2016 10:06:41 -0400 Message-ID: <3910113.5gUCLERkgh@sifl> User-Agent: KMail/4.14.10 (Linux/4.4.5-gentoo; KDE/4.14.17; x86_64; ; ) In-Reply-To: <1459414168-5010-1-git-send-email-jslaby@suse.cz> References: <1459414168-5010-1-git-send-email-jslaby@suse.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday, March 31, 2016 10:49:28 AM Jiri Slaby wrote: > We can use kthread_run instead of kthread_create+wake_up_process for > creating the thread. > > We do not need to set the task state to TASK_RUNNING after schedule(), > the process is in that state already. > > And we do not need to set the state to TASK_INTERRUPTIBLE when not > doing schedule() as we set the state to TASK_RUNNING immediately > afterwards. > > Signed-off-by: Jiri Slaby > Cc: Paul Moore > Cc: Eric Paris > Cc: > --- > kernel/audit_tree.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) Thanks, it looks good to me; merged. > diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c > index 5efe9b299a12..25772476fa4a 100644 > --- a/kernel/audit_tree.c > +++ b/kernel/audit_tree.c > @@ -661,10 +661,10 @@ static int tag_mount(struct vfsmount *mnt, void *arg) > static int prune_tree_thread(void *unused) > { > for (;;) { > - set_current_state(TASK_INTERRUPTIBLE); > - if (list_empty(&prune_list)) > + if (list_empty(&prune_list)) { > + set_current_state(TASK_INTERRUPTIBLE); > schedule(); > - __set_current_state(TASK_RUNNING); > + } > > mutex_lock(&audit_cmd_mutex); > mutex_lock(&audit_filter_mutex); > @@ -693,16 +693,14 @@ static int audit_launch_prune(void) > { > if (prune_thread) > return 0; > - prune_thread = kthread_create(prune_tree_thread, NULL, > + prune_thread = kthread_run(prune_tree_thread, NULL, > "audit_prune_tree"); > if (IS_ERR(prune_thread)) { > pr_err("cannot start thread audit_prune_tree"); > prune_thread = NULL; > return -ENOMEM; > - } else { > - wake_up_process(prune_thread); > - return 0; > } > + return 0; > } > > /* called with audit_filter_mutex */ -- paul moore www.paul-moore.com