Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2081182imj; Fri, 8 Feb 2019 12:13:42 -0800 (PST) X-Google-Smtp-Source: AHgI3IYJTBOmIUMDd3HrJy+Yvym0Sii85cJfFzBh7/B7p8getG0D10ABajv6HgIqsDiz+JWT4pMm X-Received: by 2002:a62:29c3:: with SMTP id p186mr24270424pfp.117.1549656822241; Fri, 08 Feb 2019 12:13:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549656822; cv=none; d=google.com; s=arc-20160816; b=YwE7lXTHNLZdkm3dV1aN1pQAFp8f7h7zR0PpwzTm6SR1gWWxmbTLr2L6YCx5pWc7Wd lt4p9PBKMMX/LmIJR1EHuhV1aEPx8OWRioQph1D4yg1YHmAUWK+opdyjEu6uIH9qKewc k5SUqGKYbK0tYGXFP1yiJxLxdU6cODZ7xGLPavyWM+8YnRpnRWb+B4UXeS3ndPH8yd/I 88xNdpGmWtWp1BsY7B5iFLf7pAv8M8ZkzL1zblpS92AUL1FHjmaEUy9OxdJO/+du9bzE 4qD7iiqiF+nP1LTZm5aLMrgcNimH1959D/rlOFlEJfvQ0mfffuJ43vC7atOHRnU3GjXk PG4Q== 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=j32AMjmC3AwqesQUj//3saU+7HmwNnZiOXV37SfU9hw=; b=quGhYQKXoGPaOJmdH7pJzRGfz8J4Mjp+5i6YSXDzn6+gvQ23lcSxIdt53LHnk6CF19 GzW9fgpivsgvCEFRLDgJVDPEdiEfhcu6A0odV8i/cmN6kOeGxjv0aW4zF8tEKgNtre+p 7/E7UgQtqhzK2ef0xbyn5fQ/TeT9ApbYyZHh24KBnyZBhQcLMf49QJqFzQPkyRN8gJN2 I5igDbyHyD3xibzRWhbLV1FYHlvq4pp9D/1sHFEDGihqCz4GiPSq4f4C1P3qMagEqVe/ ZjI3EVomvpOWu3CIdcqZXPqyT5DQkUG74t/cE3Ij4JOIOazF2TSMAvUvRh9btyzN0fTW tZVA== 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 t6si3006156pgn.258.2019.02.08.12.13.26; Fri, 08 Feb 2019 12:13:42 -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 S1727831AbfBHUL0 (ORCPT + 99 others); Fri, 8 Feb 2019 15:11:26 -0500 Received: from fieldses.org ([173.255.197.46]:57080 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727561AbfBHUKt (ORCPT ); Fri, 8 Feb 2019 15:10:49 -0500 Received: by fieldses.org (Postfix, from userid 2815) id E98D82012; 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 5/7] rpc: separate out body of svc_start_kthreads Date: Fri, 8 Feb 2019 15:10:45 -0500 Message-Id: <1549656647-25115-6-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" No change in behavior, just trivial refactoring. Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 62 +++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index e87ddb9f7feb..502e09a28f84 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -702,40 +702,52 @@ choose_victim(struct svc_serv *serv, struct svc_pool *pool, unsigned int *state) return task; } -/* create new threads */ static int -svc_start_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) +svc_start_kthread(struct svc_serv *serv, struct svc_pool *pool, + unsigned int *state) { struct svc_rqst *rqstp; struct task_struct *task; struct svc_pool *chosen_pool; - unsigned int state = serv->sv_nrthreads-1; int node; - do { - nrservs--; - chosen_pool = choose_pool(serv, pool, &state); - - node = svc_pool_map_get_node(chosen_pool->sp_id); - rqstp = svc_prepare_thread(serv, chosen_pool, node); - if (IS_ERR(rqstp)) - return PTR_ERR(rqstp); - - __module_get(serv->sv_ops->svo_module); - task = kthread_create_on_node(serv->sv_ops->svo_function, rqstp, - node, "%s", serv->sv_name); - if (IS_ERR(task)) { - module_put(serv->sv_ops->svo_module); - svc_exit_thread(rqstp); - return PTR_ERR(task); - } + chosen_pool = choose_pool(serv, pool, state); - rqstp->rq_task = task; - if (serv->sv_nrpools > 1) - svc_pool_map_set_cpumask(task, chosen_pool->sp_id); + node = svc_pool_map_get_node(chosen_pool->sp_id); + rqstp = svc_prepare_thread(serv, chosen_pool, node); + if (IS_ERR(rqstp)) + return PTR_ERR(rqstp); - svc_sock_update_bufs(serv); - wake_up_process(task); + __module_get(serv->sv_ops->svo_module); + task = kthread_create_on_node(serv->sv_ops->svo_function, rqstp, + node, "%s", serv->sv_name); + if (IS_ERR(task)) { + module_put(serv->sv_ops->svo_module); + svc_exit_thread(rqstp); + return PTR_ERR(task); + } + + rqstp->rq_task = task; + if (serv->sv_nrpools > 1) + svc_pool_map_set_cpumask(task, chosen_pool->sp_id); + + svc_sock_update_bufs(serv); + wake_up_process(task); + return 0; +} + +/* create new threads */ +static int +svc_start_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) +{ + unsigned int state = serv->sv_nrthreads-1; + int ret; + + do { + nrservs--; + ret = svc_start_kthread(serv, pool, &state); + if (ret) + return ret; } while (nrservs > 0); return 0; -- 2.20.1