From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99B5AC10F00 for ; Tue, 12 Mar 2019 10:20:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 66DD9214AE for ; Tue, 12 Mar 2019 10:20:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AMrhBImY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726434AbfCLKUU (ORCPT ); Tue, 12 Mar 2019 06:20:20 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:46947 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726450AbfCLKUU (ORCPT ); Tue, 12 Mar 2019 06:20:20 -0400 Received: by mail-ed1-f65.google.com with SMTP id n17so1745277edt.13 for ; Tue, 12 Mar 2019 03:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OgRxApYP9/7s8xVfAotNp5ha3mB1NpyLLu7jntSeSU8=; b=AMrhBImYY6coTvcfPQL7OI5i4IYDhFnli+lguRYHqumvc8xcs58Y2ODjeNAxUDJ6QS GAkKJJrAnSe52/y2O2aKd5gTSJ+uVHvcDJthSkuZxqXrGuN2kuTjxJYhwyI/5Vv+gDDg G3wjO7rxdcNmz7iU0GWr2LFZqoxN+R++d8aQRW440EyP1s0iwc0gVtBsecEyZeWo4jMb MyWBLGwfKhx0fw7b5VNcukHlIxOGaZUeanERXB6ewqFLtTgp/1vmrQU8ohnxRqy54ATh hDNsNTyG90wFDdErBSlQSWXvoafSZN6/P2VWAd6uWQqTNWorkIQAQzHhmzklYBS3SPz+ +eWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OgRxApYP9/7s8xVfAotNp5ha3mB1NpyLLu7jntSeSU8=; b=hXGvMRM5nIPOQTK+JKcT3E27qHve+RmprT3vpIflSsSuVzX8DvXmJ3LTmoXbCjgdLZ mpqqUubgcOJ4DlLiD5ZOHzVZvmumnhNjwSEgtgeW5t7wdlJBJG3cI0qTUfpspph/KLR/ yAX6hgmKiCMEYIxsLk04rBLbjsV5IBlKlh2t0M+UDn8N2CO97yOdOq0a6tcAH5q4x884 Zl5vBnIEJ5SYELqnEWcPRKvB14QoVPOZjoYuQoRWnttCzwXqSxoOtexKPs/TS2OYaxix L3h3OPJ5mCq6e8WBxQPM/x1z1RmM3ALrUzbV0gdK8oEBL3PvBNTC6P2uDH6ej/fvH44q TKyQ== X-Gm-Message-State: APjAAAVqcrZ/B7VcSlrajFKjmSZEBqWBbpNH0mif3sTIpwja0RoAD6P1 QgO6W1dxDEaEjZdiVnnrnMA= X-Google-Smtp-Source: APXvYqyQVBQ0mdf0CPiSNZnIG58dXwR83WvXDpHDdisXTNZ5pfeoYUX5Xarb4SoeiSvGBRVy2ENTPg== X-Received: by 2002:a50:b16e:: with SMTP id l43mr2644696edd.99.1552386018392; Tue, 12 Mar 2019 03:20:18 -0700 (PDT) Received: from jwang-pc.pb.local ([2001:1438:4010:254c:1e6f:65ff:fed4:d10]) by smtp.gmail.com with ESMTPSA id q12sm408698edd.12.2019.03.12.03.20.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Mar 2019 03:20:17 -0700 (PDT) From: Jack Wang To: gregkh@linuxfoundation.org, stable@vger.kernel.org Cc: Olof Johansson , Ingo Molnar , Peter Zijlstra , Andrew Morton , Linus Torvalds , Jack Wang Subject: [stable-4.14 10/11] kernel/sched/psi.c: simplify cgroup_move_task() Date: Tue, 12 Mar 2019 11:20:01 +0100 Message-Id: <20190312102002.31737-11-jinpuwang@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190312102002.31737-1-jinpuwang@gmail.com> References: <20190312102002.31737-1-jinpuwang@gmail.com> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Olof Johansson The existing code triggered an invalid warning about 'rq' possibly being used uninitialized. Instead of doing the silly warning suppression by initializa it to NULL, refactor the code to bail out early instead. Warning was: kernel/sched/psi.c: In function `cgroup_move_task': kernel/sched/psi.c:639:13: warning: `rq' may be used uninitialized in this function [-Wmaybe-uninitialized] Link: http://lkml.kernel.org/r/20181103183339.8669-1-olof@lixom.net Fixes: 2ce7135adc9ad ("psi: cgroup support") Signed-off-by: Olof Johansson Reviewed-by: Andrew Morton Acked-by: Johannes Weiner Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds (cherry picked from commit c904648b96279bd44e1f08f474274cd1ee52675d) Signed-off-by: Jack Wang --- kernel/sched/psi.c | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c index 7cdecfc010af..3d7355d7c3e3 100644 --- a/kernel/sched/psi.c +++ b/kernel/sched/psi.c @@ -633,38 +633,39 @@ void psi_cgroup_free(struct cgroup *cgroup) */ void cgroup_move_task(struct task_struct *task, struct css_set *to) { - bool move_psi = !psi_disabled; unsigned int task_flags = 0; struct rq_flags rf; struct rq *rq; - if (move_psi) { - rq = task_rq_lock(task, &rf); + if (psi_disabled) { + /* + * Lame to do this here, but the scheduler cannot be locked + * from the outside, so we move cgroups from inside sched/. + */ + rcu_assign_pointer(task->cgroups, to); + return; + } - if (task_on_rq_queued(task)) - task_flags = TSK_RUNNING; - else if (task->in_iowait) - task_flags = TSK_IOWAIT; + rq = task_rq_lock(task, &rf); - if (task->flags & PF_MEMSTALL) - task_flags |= TSK_MEMSTALL; + if (task_on_rq_queued(task)) + task_flags = TSK_RUNNING; + else if (task->in_iowait) + task_flags = TSK_IOWAIT; - if (task_flags) - psi_task_change(task, task_flags, 0); - } + if (task->flags & PF_MEMSTALL) + task_flags |= TSK_MEMSTALL; - /* - * Lame to do this here, but the scheduler cannot be locked - * from the outside, so we move cgroups from inside sched/. - */ + if (task_flags) + psi_task_change(task, task_flags, 0); + + /* See comment above */ rcu_assign_pointer(task->cgroups, to); - if (move_psi) { - if (task_flags) - psi_task_change(task, 0, task_flags); + if (task_flags) + psi_task_change(task, 0, task_flags); - task_rq_unlock(rq, task, &rf); - } + task_rq_unlock(rq, task, &rf); } #endif /* CONFIG_CGROUPS */ -- 2.17.1