Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2080825imj; Fri, 8 Feb 2019 12:13:22 -0800 (PST) X-Google-Smtp-Source: AHgI3IaEzwO2TzAbF+RBokGBBVLuRAnmEDTvLc9UljSfXoSuAcRSWiXrRPKxFg1V4Th+vTobZu/T X-Received: by 2002:a63:e80e:: with SMTP id s14mr22068861pgh.30.1549656802432; Fri, 08 Feb 2019 12:13:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549656802; cv=none; d=google.com; s=arc-20160816; b=SGXENEma1s1kNkj1iBmA9NOMpl09uB0oFz5oE5iwLxbUxiD4ccibbdWmw9nsScMBXg 1+gIhgpB4gZxhWOQS0nSb9NSq8CFBYSX8bDXpIZcv7+ATPmeGKtPm/7F5cceH/9+j51N PukYnk++FlaSzVeVfDEMkI5M0zudl5kvWzwzfIw0PgMZszALSRVQ3eRqHt36SdYIbQ2z quhRt6mEyFaErmdGf/Wrof4za5wrcPIEld7z15h31F7uy9hMRy3sB8i1xX4fY1WDIdWQ xIyzgLZUz2Cx5kQ/p4e3iaDuvABQjf9Dy4xZXOt0eaxhoSNrTseZd6McYyMEWKTBwT98 u81A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=5nWVz89CQR1rLYbjWMztk253cRYaEI10Mj0hpuTx3f8=; b=Xsd8rkdfVe/n+s/CLeUo4+LQwZe7z28RXJWxe2Gy6vCBGtY/Ob05/QxOPB/cSMlUu5 c/Vi6eY/dukO+j9cLxfX3anAWO5EYpZUB8oznTjWbsT+Y1V8Y+JCvUOtpKolVvjwO/Za H00SqKr7VcWyDLH7D+VFBos4gCT2RpogPj7LKCaZOl8IMrMMf/0P1viba1bPoAiB2aWC L+Z0KKaomjtp74b/jD6WzdbKNWim+REvymfkGSpKzuEJaO9KQn4Tg6/n8aHYkG4IWR0i olk7JrYSQxJR3vwz119/Ag/2IGPf+glCDkpGB1t0JYgiMAX/x7nS0tTI0wAdDBWVPKEO WHog== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g184si3034784pfb.288.2019.02.08.12.13.06; Fri, 08 Feb 2019 12:13:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727613AbfBHUKu (ORCPT + 99 others); Fri, 8 Feb 2019 15:10:50 -0500 Received: from fieldses.org ([173.255.197.46]:57028 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727171AbfBHUKt (ORCPT ); Fri, 8 Feb 2019 15:10:49 -0500 Received: by fieldses.org (Postfix, from userid 2815) id C9D1C1DCB; Fri, 8 Feb 2019 15:10:48 -0500 (EST) From: "J. Bruce Fields" To: linux-nfs@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Trond Myklebust , Jeff Layton , David Howells , Tejun Heo , Peter Zijlstra , Shaohua Li , Oleg Nesterov , "J. Bruce Fields" Subject: [PATCH 1/7] kthreads: minor kthreadd refactoring Date: Fri, 8 Feb 2019 15:10:41 -0500 Message-Id: <1549656647-25115-2-git-send-email-bfields@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549656647-25115-1-git-send-email-bfields@redhat.com> References: <1549656647-25115-1-git-send-email-bfields@redhat.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "J. Bruce Fields" 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 --- 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