Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1306051iog; Thu, 16 Jun 2022 03:40:28 -0700 (PDT) X-Google-Smtp-Source: AGRyM1un+DdCS6mmztaHAki1flEJMni5BrM03wMp7+jK+SuchvpWgx3jNo/i1zLQl/ywA0wRu98h X-Received: by 2002:a17:903:1cb:b0:165:1055:a56 with SMTP id e11-20020a17090301cb00b0016510550a56mr3952833plh.150.1655376027835; Thu, 16 Jun 2022 03:40:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655376027; cv=none; d=google.com; s=arc-20160816; b=HjRySBzRSUroM+mGpfqZf2pYqrLNsMkPWBOyUC4Cbe7Gxk2yZdjYLlSNP1Cr7lkJMk V8vsadPpiTLsbaQKpYLYjpB7lAU6VpbTTR0WhpD8DCsDZ9DQaI5pSkfmHhE34etnIURe CnqjHjgGBlH9u3M538e/v7nF5j0B3SxkIp9moaEtk0vyPIUZu8IQeqnZ1mz2OQUJlcLA 1cSI0nPolW1DD463CaL1s1L8kmSNMYYGleUnO/sSvvdewIEbFlrUz4dqYBnxBwQvhxXw PErLog0LytEi3Bh3CRyAegd96cMSHnYKt1kYmIka4XHlFOWYwbpz+7NOAqnGD8/eVdHD CrxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=OuELDSv8vk6gRkLFersZQ9asPmHrcVMb0sQxlfwY/lM=; b=d+A3G5qTrMOdfayJH1oA+SbL2mCQgiUHDnA/mrssRexFEp9i476cAfg/BYEmPlSim5 Zb1qZvo0MpO9KjGJEHiFQbvhXhuzRMxVPuN+eqz8wU4OowQ5JydoeLutoRhWKzZaOe98 YAGF7iZQ/CDcVJ3FOMPReZ+Oo8fnbmUkBIAJ7/eViLKNqml/X9VRLE7ovp0GoCmTg44V wCl3E13zrEBvCS40uM4UEO+LHVxyvjMebVX6rO9l0yWPGq3zHo9h+zIFziVNfuPXiqam ieVTQoEPi+6j83qAidjAhgFMiOTLIlT5D8Aghg3UBkoY4aH0CwJ6TWGEJkQ/HAQV1Ebw n5pg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t2-20020a170902b20200b00163f215e3dbsi1786310plr.341.2022.06.16.03.40.13; Thu, 16 Jun 2022 03:40:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1359447AbiFPKjY (ORCPT + 99 others); Thu, 16 Jun 2022 06:39:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230394AbiFPKjX (ORCPT ); Thu, 16 Jun 2022 06:39:23 -0400 Received: from zg8tmtyylji0my4xnjqunzqa.icoremail.net (zg8tmtyylji0my4xnjqunzqa.icoremail.net [162.243.164.74]) by lindbergh.monkeyblade.net (Postfix) with SMTP id 27AB75B3EC; Thu, 16 Jun 2022 03:39:18 -0700 (PDT) Received: from fedora33.wangsu.com (unknown [59.61.78.232]) by app2 (Coremail) with SMTP id SyJltAAnHAgyCKtikEYEAA--.7274S2; Thu, 16 Jun 2022 18:38:49 +0800 (CST) From: Lin Feng To: tj@kernel.org, lizefan.x@bytedance.com, hannes@cmpxchg.org Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linf@wangsu.com Subject: [PATCH] cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated codes Date: Thu, 16 Jun 2022 18:38:30 +0800 Message-Id: <20220616103830.197458-1-linf@wangsu.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: SyJltAAnHAgyCKtikEYEAA--.7274S2 X-Coremail-Antispam: 1UD129KBjvJXoW7KFykWw4fZFyfWrWkAF43Jrb_yoW8tF4fpF srArZ3tw4rW3W5Ww4Sq3y0va4Sgay8Xw17KrW7Zw4rAr1xArWYqF1xu34fXryYyasrG3W3 KF4YkrWSgw1IqaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUvF1xkIjI8I6I8E6xAIw20EY4v20xvaj40_Wr0E3s1l8cAvFVAK 0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4 x0Y4vE2Ix0cI8IcVCY1x0267AKxVWxJr0_GcWl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2 z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4 xG64xvF2IEw4CE5I8CrVC2j2WlYx0EF7xvrVAajcxG14v26r4j6F4UMcIj6x8ErcxFaVAv 8VW8GwAv7VCY1x0262k0Y48FwI0_Gr1j6F4UJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2 IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxkIecxEwVAFwVW8twCF04k20xvY 0x0EwIxGrwCF04k20xvE74AGY7Cv6cx26r48MxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I 0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWU AVWUtwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcV CY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAF wI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvj fUFdb1DUUUU X-CM-SenderInfo: holqwq5zdqw23xof0z/ X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_TEMPERROR autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org No funtionality change, but save us some lines. Signed-off-by: Lin Feng --- kernel/cgroup/cgroup.c | 58 ++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 1779ccddb734..a8a46eb66f21 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -1376,6 +1376,31 @@ static void cgroup_destroy_root(struct cgroup_root *root) cgroup_free_root(root); } +static inline struct cgroup *__cset_cgroup_from_root(struct css_set *cset, + struct cgroup_root *root) +{ + struct cgroup *res_cgroup = NULL; + + if (cset == &init_css_set) { + res_cgroup = &root->cgrp; + } else if (root == &cgrp_dfl_root) { + res_cgroup = cset->dfl_cgrp; + } else { + struct cgrp_cset_link *link; + + list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { + struct cgroup *c = link->cgrp; + + if (c->root == root) { + res_cgroup = c; + break; + } + } + } + + return res_cgroup; +} + /* * look up cgroup associated with current task's cgroup namespace on the * specified hierarchy @@ -1391,22 +1416,8 @@ current_cgns_cgroup_from_root(struct cgroup_root *root) rcu_read_lock(); cset = current->nsproxy->cgroup_ns->root_cset; - if (cset == &init_css_set) { - res = &root->cgrp; - } else if (root == &cgrp_dfl_root) { - res = cset->dfl_cgrp; - } else { - struct cgrp_cset_link *link; - - list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { - struct cgroup *c = link->cgrp; + res = __cset_cgroup_from_root(cset, root); - if (c->root == root) { - res = c; - break; - } - } - } rcu_read_unlock(); BUG_ON(!res); @@ -1422,22 +1433,7 @@ static struct cgroup *cset_cgroup_from_root(struct css_set *cset, lockdep_assert_held(&cgroup_mutex); lockdep_assert_held(&css_set_lock); - if (cset == &init_css_set) { - res = &root->cgrp; - } else if (root == &cgrp_dfl_root) { - res = cset->dfl_cgrp; - } else { - struct cgrp_cset_link *link; - - list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { - struct cgroup *c = link->cgrp; - - if (c->root == root) { - res = c; - break; - } - } - } + res = __cset_cgroup_from_root(cset, root); BUG_ON(!res); return res; -- 2.31.1