From patchwork Wed May 12 20:19:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shakeel Butt X-Patchwork-Id: 12254637 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=-26.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT,USER_IN_DEF_DKIM_WL 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 1A37FC433ED for ; Wed, 12 May 2021 20:20:01 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9642C60E09 for ; Wed, 12 May 2021 20:20:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9642C60E09 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id EE7FF6B0072; Wed, 12 May 2021 16:19:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E96AE6B0073; Wed, 12 May 2021 16:19:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D114C6B0074; Wed, 12 May 2021 16:19:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0215.hostedemail.com [216.40.44.215]) by kanga.kvack.org (Postfix) with ESMTP id A07A96B0072 for ; Wed, 12 May 2021 16:19:59 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 3C3161808F5D0 for ; Wed, 12 May 2021 20:19:59 +0000 (UTC) X-FDA: 78133695318.19.4556918 Received: from mail-qv1-f74.google.com (mail-qv1-f74.google.com [209.85.219.74]) by imf03.hostedemail.com (Postfix) with ESMTP id 8FE68C0007CD for ; Wed, 12 May 2021 20:19:50 +0000 (UTC) Received: by mail-qv1-f74.google.com with SMTP id z93-20020a0ca5e60000b02901ec19d8ff47so1393599qvz.8 for ; Wed, 12 May 2021 13:19:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=YXR7018ir3yC5tcsqwArvEvMEw9OfhcwUNlN5MdOICU=; b=qOWX+kRIMBQ4mZ/HLAhtp9wtaMHP5alBj0yPlO6T3CwoNy5+yXHc5+lK3jUvjUIMh4 scx7qYpwH7fn/Co419Rrw+6ku5QpMn8wo3UNlyU8TEuYLawfwF18y1DiiuImUsYbxsLv LPA6EbjkZjr8zxRwy4oYlC+xugm0nGJrCHl73zgZwy8DgPcoBkh7M4oINhOnNXmLUYrW wZH4ZX80NB0kU/47Pq/MkaoXxSGioC5CD8RKCA+CBb71BHR8hQXMfVcj9JTEz9cL6sX7 RIfHXat1yI2+q4QA/ysP/u64GkwyUP8I5QE/j0PdS2w8+MmdJ1lJC2/HhIa71OzHvOVR oOuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=YXR7018ir3yC5tcsqwArvEvMEw9OfhcwUNlN5MdOICU=; b=fRsBu+ObcyL3z7yQoB/b7grzGXUsP1tNnucLnSMB3zAqat4d9k+R2uy4ecwy9FQ9Dh I0+fu+REXXVExk7n+yFGT9xX9KlP+I49A6MWygEpjLYnG9jh0ZKGa5L2F7QAYTMnCrKP cT27pq20UBtMIOq5ZmMGjYVtNrUoESsAxnHXrv6pMTZfCKeBzFMXNaWeT1kL9b2zOSV5 SkERbFYCzn80WM3iKqceeXJGBx1S3DHGrOMS164xjRpfpPlT4qb795LkdHpqnPtktZuY IT7Y/oZlmx90X69PmPscSf1dCe/AwkJ+gA5P5jnVDSPFEBvysB+vZ1XmbxuC+cxESHJA 7ZLQ== X-Gm-Message-State: AOAM5307zw0UvPwuecNeTe1gjOUPHS0FWCbdlU7twAKFX3p1c0G5iFgg RFYg69OT7BTfO60csgZ3YF73BHtHT4jxsw== X-Google-Smtp-Source: ABdhPJy9B5ZOBGDC2X2Ln5na2zOpL8YrUS7FzOGtaEKRGfgX6pCT328QYm5PbLKrd9uhkotB5yKaub1wDZxxnA== X-Received: from shakeelb.svl.corp.google.com ([2620:15c:2cd:202:937a:8b67:cf77:36ff]) (user=shakeelb job=sendgmr) by 2002:a37:c0e:: with SMTP id 14mr2543550qkm.255.1620850798158; Wed, 12 May 2021 13:19:58 -0700 (PDT) Date: Wed, 12 May 2021 13:19:46 -0700 Message-Id: <20210512201946.2949351-1-shakeelb@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.31.1.607.g51e8a6a459-goog Subject: [PATCH] cgroup: disable controllers at parse time From: Shakeel Butt To: Tejun Heo , Zefan Li , Johannes Weiner , shy828301@gmail.com, junichi.nomura@nec.com Cc: Andrew Morton , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Shakeel Butt Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20161025 header.b=qOWX+kRI; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of 3bjicYAgKCFsLA3D77E49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--shakeelb.bounces.google.com designates 209.85.219.74 as permitted sender) smtp.mailfrom=3bjicYAgKCFsLA3D77E49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--shakeelb.bounces.google.com X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 8FE68C0007CD X-Stat-Signature: wzjar6z5jdezd8tfd3dmbi7rnrtis3z3 Received-SPF: none (flex--shakeelb.bounces.google.com>: No applicable sender policy available) receiver=imf03; identity=mailfrom; envelope-from="<3bjicYAgKCFsLA3D77E49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--shakeelb.bounces.google.com>"; helo=mail-qv1-f74.google.com; client-ip=209.85.219.74 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1620850790-345706 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This patch effectively reverts the commit a3e72739b7a7 ("cgroup: fix too early usage of static_branch_disable()"). The commit 6041186a3258 ("init: initialize jump labels before command line option parsing") has moved the jump_label_init() before parse_args() which has made the commit a3e72739b7a7 unnecessary. On the other hand there are consequences of disabling the controllers later as there are subsystems doing the controller checks for different decisions. One such incident is reported [1] regarding the memory controller and its impact on memory reclaim code. [1] https://lore.kernel.org/linux-mm/921e53f3-4b13-aab8-4a9e-e83ff15371e4@nec.com Signed-off-by: Shakeel Butt Reported-by: NOMURA JUNICHI(野村 淳一) Tested-by: Jun'ichi Nomura --- kernel/cgroup/cgroup.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index e049edd66776..e7a9a2998245 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -5634,8 +5634,6 @@ int __init cgroup_init_early(void) return 0; } -static u16 cgroup_disable_mask __initdata; - /** * cgroup_init - cgroup initialization * @@ -5694,12 +5692,8 @@ int __init cgroup_init(void) * disabled flag and cftype registration needs kmalloc, * both of which aren't available during early_init. */ - if (cgroup_disable_mask & (1 << ssid)) { - static_branch_disable(cgroup_subsys_enabled_key[ssid]); - printk(KERN_INFO "Disabling %s control group subsystem\n", - ss->name); + if (!cgroup_ssid_enabled(ssid)) continue; - } if (cgroup1_ssid_disabled(ssid)) printk(KERN_INFO "Disabling %s control group subsystem in v1 mounts\n", @@ -6214,7 +6208,10 @@ static int __init cgroup_disable(char *str) if (strcmp(token, ss->name) && strcmp(token, ss->legacy_name)) continue; - cgroup_disable_mask |= 1 << i; + + static_branch_disable(cgroup_subsys_enabled_key[i]); + pr_info("Disabling %s control group subsystem\n", + ss->name); } } return 1;