From patchwork Sun Feb 5 06:58:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 13128978 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2C36C636CC for ; Sun, 5 Feb 2023 06:58:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D1246B0073; Sun, 5 Feb 2023 01:58:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 25B4C6B0074; Sun, 5 Feb 2023 01:58:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FC456B0075; Sun, 5 Feb 2023 01:58:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F138D6B0073 for ; Sun, 5 Feb 2023 01:58:28 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CB549A995A for ; Sun, 5 Feb 2023 06:58:28 +0000 (UTC) X-FDA: 80432334696.20.25BEF4F Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by imf03.hostedemail.com (Postfix) with ESMTP id F351520005 for ; Sun, 5 Feb 2023 06:58:25 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=VbKKUeOj; spf=pass (imf03.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.215.170 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675580306; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m9R8PIufUvBWha2/FhSWxLkNgyIkPqx2ukwcdT04Lok=; b=spXTpxYfOUfs8iyvcwlZ9LAFOj559ejMn3X4BtrZBMdpl/rzeDi0DZd0ZugkQD+fQCdtGk hJn15Lav5JT4zwrFc7wcQ6HSL+V5aZ7f58e5xxamlRzCwT/AKphdI6akWz5M7pNQmDddCv boxUeBkBcC0msr7TtP8DBEWuYPSWjYk= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=VbKKUeOj; spf=pass (imf03.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.215.170 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675580306; a=rsa-sha256; cv=none; b=Gmm+LW1xrQLkF7Asbb9z1mIaJpXDaet58VcbOMWTpYRipWY2UvKCRYXl4Es6Y1JT58uSw4 XrvMP2F1iOtxsgwU9HJhFTlMd5PnxIu46ujbVZrmbvQXqcNimp83eoqa/q+ovgm0aP7RIb hl+Ej6Uz06TNERvLekCKV8Rlbn4Jy9o= Received: by mail-pg1-f170.google.com with SMTP id 78so6241965pgb.8 for ; Sat, 04 Feb 2023 22:58:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m9R8PIufUvBWha2/FhSWxLkNgyIkPqx2ukwcdT04Lok=; b=VbKKUeOjFCh14UcFioJqXvV7nqLa/vg7qKYxZQoGJttshn6aRrjtM0mbljrXL0sSdo eoD9zvL2xe3uInT4uDMDjiP/qOwanJKqBrbwt1d1DwYYMEQZ33HOBD6TmXobYtliaD4y jL7qHagWDuT/Cpw7o2NXIPpUlagzQvrXu4hNJXh/5vE4ShSSJfiDwZahWSsv83KJATSd F4d2EZbJO3TWewtgx6041qZaYAkpmG9XlDGl3CNBeahJAPv1aHnjnW9jXuHbBSRsLScM IxkfodJ2ct1jHAS2KZ38cmjljEGipXaGxiHVk6qRU+Gz+xGTGRPKtSLFVu9vS9T1ECfi KzGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m9R8PIufUvBWha2/FhSWxLkNgyIkPqx2ukwcdT04Lok=; b=EhRKnW5wuko9/tjyZCpiBEuzkwG0rMrh9QL+5S2lnSzVeEQrdvH5/V4aRD9PJIlCSU grdmxOuQMfEYyrj1C5MvzebQw52b7llAwryWXl+IWWJXYd8BZrokf7q1EwdgMKp2oTtx WCH2KqPaeC3U7ds7FFmLUBde4Ahz2k0hDFWe4J2kWFQKWpuO2LBmVVrXyD0J5QJ2Hs0F ZdEdFGkiMdrcp129btOQlv4hKwYGlHox83iSUd7vpNtvIlbCfGuRhjKxAHLV3QK/ixKE vGvGLTBrcc2U275OIi3pj3hYBiJHyNoDqx3wbiISl0cunJcSJT7t4X4hOhmC/XLygCH+ 5xcQ== X-Gm-Message-State: AO0yUKV/+JcCPingNdHA62bQ/TnGKbOSdIb70NZxU3rnKju1Uv3wDiyu HiijoOwC6uik328YrbLCzldBa/0lSSEu7b+0 X-Google-Smtp-Source: AK7set+4lyC7iUWDzKd4aGLt9mkqm7oQ24mUCgV3ZViLbOOhJZFNntqClhmQMCQjtn8CHlsGmXAruQ== X-Received: by 2002:a05:6a00:22cc:b0:58d:f20b:5f2e with SMTP id f12-20020a056a0022cc00b0058df20b5f2emr21243710pfj.1.1675580304922; Sat, 04 Feb 2023 22:58:24 -0800 (PST) Received: from vultr.guest ([2401:c080:1c02:6a5:5400:4ff:fe4b:6fe6]) by smtp.gmail.com with ESMTPSA id 144-20020a621596000000b00593ce7ebbaasm4596114pfv.184.2023.02.04.22.58.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Feb 2023 22:58:24 -0800 (PST) From: Yafang Shao To: tj@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: bpf@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yafang Shao Subject: [PATCH bpf-next 1/5] mm: memcontrol: add new kernel parameter cgroup.memory=nobpf Date: Sun, 5 Feb 2023 06:58:01 +0000 Message-Id: <20230205065805.19598-2-laoar.shao@gmail.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230205065805.19598-1-laoar.shao@gmail.com> References: <20230205065805.19598-1-laoar.shao@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: on93if78phrzwdt4yjijexzo8m5eyqaz X-Rspamd-Queue-Id: F351520005 X-HE-Tag: 1675580305-869141 X-HE-Meta: U2FsdGVkX19NeCImBmnuNofl1Znq4loNjkc9RV033qzY4kqNYxZk3eJI8Kpxd/qDxs70jvsHA7pxASy0cpfJOvzUg5iVvCRsYmZHdDNPzrQuNuxtje6iitx278ruKgC5viWadU+vkc++6KeHGJCi1dTmvH/IGVY3LWfVTZjyGWryODxPwaPRfLr86C8i9g6AaTjZRgw6iA2QDs210M2pMOle6i6AyeOIeFPSHZIN2rqh53Uo+953+fVXBvzfemIWTkSG0X3vGAoEIgaUrkOg7PHWvZIH23Vivtwu3OTvr8F9gAbGU2UUk/Lb4QNmHnbt0luJ9Oh2k9z3rRNIveTq7PGn76WAt5WpYPTtK14eApA/rfrAk6ei+fCTz5go0bAaFSpTJvILH7UsTK8ooKv1Q8yDJzSSd0K4L2rsjNoQ2Jn2StYuFNP7zDJQjofrv9FIXBj2zxNv0jpmvzP97DgfHx9SYmXvm1BQBXKpYdrz/xPgdSFsv98KOM0uKKOANItaxq+APQnloCeVKvlEzee53pIu2htE0CJw47tThfW/zqQ2DK02AullZpzbmVdESkoWIDsqx3JtUAl8s15qf4P3TRuVxYe+cIPkAQy8XEhaBdV3j0+1I3Bh3wWcVg0X7/E2i26sHhLwUctJ/MF8pvKxDBqYHUsugLyDgDViEVmUmkYmVOZTP8UZbqQkRlpLhCd5enC01n0Dwou30881Qmu2CLYdRMTNIVlDRHC8eBdyLZHCp0yZXtrj+HtH8fbOb87IThFPNROpUoJWe4Qq/YYWUF9H/bW7JwE5axB4Y/evpHgCHkL/2uU1zNNbtARrGNnHAh4J8eLHHfEOFYtzGCohf5GogaQcKwdUI2ZUo0riDeWf/o/iYdJO61OKMomLETqEsDKLNZxWrA+Q4bYgw0ULJtyUEbMVZxUuUbkM+yQwZyDKEcN7mv/fl4bnc7TDiU0I+H4cuffWNduKKwixWk+ gMYDCzBF wJpCGCO6+yyiH712vn6iMO4wwIquI2oBTJuPgxD8Pwyt4Ya4dAsnkgoAcFsWlRBHJx/SzCfMxmw/1uepI66XPjuq5nM+hO6M8BIQzTz3/lREg1chS2is3nDhJxKYjlPCaKCh9Q5jF9VxgRd1qP/ft8Qm3+kU7G3g+OMqsEgMop8pgwdiQa8+SD0Os+mJZv5dw7MP0gEan9VSIsaLXGiuqZEyHYfKFpi0zoAEKB3SsRikzgYHdoV3h6oHvnXVu+e+11dnFMLjb1o3mHKbmjeeNA7f8ZCQlYVAYYl16KdJ04jGCYDbmuNsDEAuGo/zXhk8p3lP8ek+g9wLSQCtu9oTTWNhvE/svjg02MuF4J0WBYs81BU6Foy432wS3YRvE7M+OdPINo8p6DDw9/2TxLd3rWLVgPHbjqrc+DNJeJeFLg0UI4aRxbfLQCscxBMi5FsTIdAKRjISl7OmAwQNAwSFgylbwA/MrE01t49rGNqD4vTVmEOKYduQ+U78veEwuQ2xzjSOS/nG5yQ6385In25h3Zpfw1VbVu/LAJpdeEVfRtwMKX9M= 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: Add new kernel parameter cgroup.memory=nobpf to allow user disable bpf memory accounting. This is a preparation for the followup patch. Signed-off-by: Yafang Shao --- Documentation/admin-guide/kernel-parameters.txt | 1 + include/linux/memcontrol.h | 11 +++++++++++ mm/memcontrol.c | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 6cfa6e3..29fb41e 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -557,6 +557,7 @@ Format: nosocket -- Disable socket memory accounting. nokmem -- Disable kernel memory accounting. + nobpf -- Disable BPF memory accounting. checkreqprot= [SELINUX] Set initial checkreqprot flag value. Format: { "0" | "1" } diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index d3c8203..26d4bf2 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -1751,6 +1751,12 @@ static inline void set_shrinker_bit(struct mem_cgroup *memcg, int obj_cgroup_charge(struct obj_cgroup *objcg, gfp_t gfp, size_t size); void obj_cgroup_uncharge(struct obj_cgroup *objcg, size_t size); +extern struct static_key_false memcg_bpf_enabled_key; +static inline bool memcg_bpf_enabled(void) +{ + return static_branch_likely(&memcg_bpf_enabled_key); +} + extern struct static_key_false memcg_kmem_enabled_key; static inline bool memcg_kmem_enabled(void) @@ -1829,6 +1835,11 @@ static inline struct obj_cgroup *get_obj_cgroup_from_page(struct page *page) return NULL; } +static inline bool memcg_bpf_enabled(void) +{ + return false; +} + static inline bool memcg_kmem_enabled(void) { return false; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index ab457f0..590526f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -89,6 +89,9 @@ /* Kernel memory accounting disabled? */ static bool cgroup_memory_nokmem __ro_after_init; +/* BPF memory accounting disabled? */ +static bool cgroup_memory_nobpf __ro_after_init; + #ifdef CONFIG_CGROUP_WRITEBACK static DECLARE_WAIT_QUEUE_HEAD(memcg_cgwb_frn_waitq); #endif @@ -348,6 +351,9 @@ static void memcg_reparent_objcgs(struct mem_cgroup *memcg, */ DEFINE_STATIC_KEY_FALSE(memcg_kmem_enabled_key); EXPORT_SYMBOL(memcg_kmem_enabled_key); + +DEFINE_STATIC_KEY_FALSE(memcg_bpf_enabled_key); +EXPORT_SYMBOL(memcg_bpf_enabled_key); #endif /** @@ -5362,6 +5368,11 @@ static struct mem_cgroup *mem_cgroup_alloc(void) if (cgroup_subsys_on_dfl(memory_cgrp_subsys) && !cgroup_memory_nosocket) static_branch_inc(&memcg_sockets_enabled_key); +#if defined(CONFIG_MEMCG_KMEM) + if (!cgroup_memory_nobpf) + static_branch_inc(&memcg_bpf_enabled_key); +#endif + return &memcg->css; } @@ -5446,6 +5457,11 @@ static void mem_cgroup_css_free(struct cgroup_subsys_state *css) if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && memcg->tcpmem_active) static_branch_dec(&memcg_sockets_enabled_key); +#if defined(CONFIG_MEMCG_KMEM) + if (!cgroup_memory_nobpf) + static_branch_dec(&memcg_bpf_enabled_key); +#endif + vmpressure_cleanup(&memcg->vmpressure); cancel_work_sync(&memcg->high_work); mem_cgroup_remove_from_trees(memcg); @@ -7310,6 +7326,8 @@ static int __init cgroup_memory(char *s) cgroup_memory_nosocket = true; if (!strcmp(token, "nokmem")) cgroup_memory_nokmem = true; + if (!strcmp(token, "nobpf")) + cgroup_memory_nobpf = true; } return 1; } From patchwork Sun Feb 5 06:58:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 13128979 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB105C636CC for ; Sun, 5 Feb 2023 06:58:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CD1F6B0074; Sun, 5 Feb 2023 01:58:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 47CE56B0075; Sun, 5 Feb 2023 01:58:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31DA86B0078; Sun, 5 Feb 2023 01:58:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 20DA16B0074 for ; Sun, 5 Feb 2023 01:58:33 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id EBC2D1C5F54 for ; Sun, 5 Feb 2023 06:58:32 +0000 (UTC) X-FDA: 80432334864.09.35E81EC Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf26.hostedemail.com (Postfix) with ESMTP id 22BA1140007 for ; Sun, 5 Feb 2023 06:58:30 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jW10FVIl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675580311; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=cekXoP31ZR51IJygqDIUgQ8CQ5lvQGcczV3A0ytqEZw=; b=a0g/rbikAFrURSMSwg6Bus6mMQgBGU5pC1wpdf7g3CWv/oUpLyF56Dn8PjtI8sZHMdQe2o rKOLUUD9DB/nOay2qGALNZj6XhzbeR7D4f+72xljFtJnbaMYLoswr1P5NrgsbCEQAlat33 Xkn9WiHoNf9Y00+RqAsvrTfyxhAkI+Q= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jW10FVIl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675580311; a=rsa-sha256; cv=none; b=UBKmtIztJgZ9i7Pt8uwSiQKw7B5DSm1fm+i7qEZeP7q33MH7PFNbUSs5HqgCAS10WoZ30t N9XZicxj1F2rp8vlsQ995qUacbQ1C3/oyB/oGutrv+r34DhoWb9MDhFgwqvOfWMI/uiEJG HL+YvKeCkpCQwy9zNs9NNkXc2f0acpI= Received: by mail-pf1-f181.google.com with SMTP id t17so6412323pfj.0 for ; Sat, 04 Feb 2023 22:58:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cekXoP31ZR51IJygqDIUgQ8CQ5lvQGcczV3A0ytqEZw=; b=jW10FVIllpk2UmObYJXnztvkxz67v4iRh5dx08YuEgB9VxdIzS1XiVDjSsmQZ/yizH TIx1w+oPsyzs6CxqC+YnzbcuutuyIhN5hMRGUyh1LBjttodYi0B2ZZ7ar3lCimJPaj9E 1BuCXvc77bDY99d/CMraUwg0ZxZvNljDPI6nrmwm6bJDgn1eO1VQ7Q5l+ErK1Zqm8Wti p0gcJ1/lWqkOpOlYWBY8uXUqPRdXOwG8a+e7bRG3KoE3rsGDtqBUhGUfTvAA305muR+V qhM185BVxKKTsWE28gnV1B3jLRF9uIiCIbTh3IgK950jdA8lCIlUdvQqDsNSoPnbMPgJ 9wKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cekXoP31ZR51IJygqDIUgQ8CQ5lvQGcczV3A0ytqEZw=; b=6DQMTdb/tHhH/k4slYnCXmQ4Cns3/z8Gn5jJwsfStdL2WrNCXmzb/ro1oU3IbGa1kV JIgWBK3+DRMedNV2BSSQb90mVEAlcPX5GnZbLWvPwzioy3cs4Ow4lyjTctazkoPAwcbU rs9cdYgTB3q664phfRW5aDFUpFJEIA0wrqhJM1TJStfp1tD1P/u+y+rMZSBEcUOJ7svS 9yGue77bW+1jSgTfRMkPJ8xDFA6ubjqtnt8fwU2Zy5CKfEoauxTVvEPE8RCST91T5H2Y wuCJk6wAB4HHfuO9WZ3INJ7iejFoXt0lQPlJ4fq30/Ybke+tvxY3XSVOw8TMW7XF5cXE HouQ== X-Gm-Message-State: AO0yUKUYS2ds9B5vhSY2xsbThNURpQtD7P3r+oyc8l03zoKLwweH+hbe zqIcE6xuOxfF/ek1by1rwAk= X-Google-Smtp-Source: AK7set8XCAleQGwzei2uSh+f/kpAooHQ+aepCJvOk66z8RfqGTLeVFmSXEcPe1mkxEJEyMs7erfirQ== X-Received: by 2002:aa7:9af1:0:b0:57a:7140:84ae with SMTP id y17-20020aa79af1000000b0057a714084aemr14810074pfp.9.1675580310103; Sat, 04 Feb 2023 22:58:30 -0800 (PST) Received: from vultr.guest ([2401:c080:1c02:6a5:5400:4ff:fe4b:6fe6]) by smtp.gmail.com with ESMTPSA id 144-20020a621596000000b00593ce7ebbaasm4596114pfv.184.2023.02.04.22.58.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Feb 2023 22:58:29 -0800 (PST) From: Yafang Shao To: tj@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: bpf@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yafang Shao Subject: [PATCH bpf-next 2/5] bpf: use bpf_map_kvcalloc in bpf_local_storage Date: Sun, 5 Feb 2023 06:58:02 +0000 Message-Id: <20230205065805.19598-3-laoar.shao@gmail.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230205065805.19598-1-laoar.shao@gmail.com> References: <20230205065805.19598-1-laoar.shao@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 22BA1140007 X-Stat-Signature: xz5unqwz49ycpkxkjussfrwrukyxiaj7 X-HE-Tag: 1675580310-770857 X-HE-Meta: U2FsdGVkX189SKBd4a646zHMd7ePyiTiwDFnomEZiM1IRMcYNcmzLQCsM4O2C3xf67LbZy6mllT9J5zyWI0r8fs2oKt2mnBjGbrvkIkqLNt/EyDFEaP2Kec/+gNzEqif4Mb2rrKJ4pQLGAxkvhYtvo4334lXLNkDRLnzfZZD2XnZv9+XEODlOPcQEe0a+tqSRYqAA9apz3WmuBUpymwb16cUfLMh277xNjqlCSS2dUc7gtoa25cG/RnpK6SK4cLtoFncQ1xU5um7N8RzUNM4roQ+j5QyYsAKVRzYUlH0ia/B4IugHa4285CcWcw6PEyt/KWPbvyDfEGJ5uW9GsDGZ6w468q+4svleA+OQYwsSD0gjkkx1Opa/ExstRW4K1RkweP2xQZwHcNs2H8Gf8aQmpLFLJIQh8AUAnrOfvkT0GFoywCamUc17XwG/+W8G3/SY9r6YD3IaQ/sSMeDM2ARD9+kN7lII+TOlpRl6TZxcjrTltMpMY9MYjNKMaGBL/xQ24pOoaFpEKF/gN49EDAVPopnmkfcbfcfwF16hcBFe+AeeprjbGChEeKuyv6RofKTF9OiR6diS12NJAxoVUWLhoKqJ/OdUl1dwfjXnP2YX51R5BFINaUfDdjGSdDyYa4oH12DuOIW+N4ujtOafRASrsIO1mAlLKdSFFyoSHB/mKwWUJ3w/CGfiEB1iFahJ90xcYiUNcOEb36d85aGExWhmMXRYmVp6XcSlOLesCNkp04KGmQAB5Ap5Kx/miiyoQL4gpXbBflUA6pFpF5fhiNYqwr8zBs3cJ+JwTK4HLBkMDkWBzvaQD7ohj/43+eOH9pJ2tUG3SJmLxdNbc/OzBVpO9QtepKdImA9haR20Jt+xOc2cFzTye/bAOhkCmtGjFqThUrEPFLnOy0XGXSftu65xyjeBFpN1iEa63gnOfpzHJALRhYzog3R0QiZ2RZ6dqMseYpwRS+gHoxHVCPzLMH IAVmLlxh IbHrXwGrVPDlnl6NS+1pJFyq2Gdi97yGJMWw3QUl/+zUFaFxAr8z8+M1wams1dSPtOOPMi84TH8V+i8g62PjUj1wr/oooUmh2azm5YVDMfbvep18cAwPBcKvapEaEVCThqonsCsFb9zAjmlUDpmqS1eb/2MtDl1VXJArRCdiiGSmE9itHDUyK4ou4LJ7uukNgQHUCZ8a5PWWo5wy4/K3szkCRxPCGM7c8JdL5MuI3Gd0HelWumm+sebY//VxQ9kE3TRAQVO+ilWAAB9eoDQsQSx2/Ihuu1np4NSu+JHVrWbjK0FSVaKC48OobvWSOH6uMnJfyjxfMbH5LvUm0sxp4GR/JR+68NU+B2v3mvzanjEnRMmhXCIS0liRZg8G99MghC8pPasVzscz+icU6B2q+sMBdDN0qKgo4rG0piw2nofsrgaYiIFqc+I0n+01if0VCbEv+Bn/ooVDs7xm2y465tt0/S2dBBF250T29EN47mjZXc3hehAlxQV/wMBJFwTQmeBTfTy64XmlFbkMNZQs+WJeWngCsL1wRYa57NXgTOy0M52MEUcHr20MluFciWxLLvkRMUSon+vc11op0bqCQyKNlJw== 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: Introduce new helper bpf_map_kvcalloc() for this memory allocation. Then bpf_local_storage will be the same with other map's creation. Signed-off-by: Yafang Shao --- include/linux/bpf.h | 8 ++++++++ kernel/bpf/bpf_local_storage.c | 4 ++-- kernel/bpf/syscall.c | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 35c18a9..fe0bf48 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -1886,6 +1886,8 @@ int generic_map_delete_batch(struct bpf_map *map, void *bpf_map_kmalloc_node(const struct bpf_map *map, size_t size, gfp_t flags, int node); void *bpf_map_kzalloc(const struct bpf_map *map, size_t size, gfp_t flags); +void *bpf_map_kvcalloc(struct bpf_map *map, size_t n, size_t size, + gfp_t flags); void __percpu *bpf_map_alloc_percpu(const struct bpf_map *map, size_t size, size_t align, gfp_t flags); #else @@ -1902,6 +1904,12 @@ void __percpu *bpf_map_alloc_percpu(const struct bpf_map *map, size_t size, return kzalloc(size, flags); } +static inline void * +bpf_map_kvcalloc(struct bpf_map *map, size_t n, size_t size, gfp_t flags) +{ + return kvcalloc(n, size, flags); +} + static inline void __percpu * bpf_map_alloc_percpu(const struct bpf_map *map, size_t size, size_t align, gfp_t flags) diff --git a/kernel/bpf/bpf_local_storage.c b/kernel/bpf/bpf_local_storage.c index 373c3c2..35f4138 100644 --- a/kernel/bpf/bpf_local_storage.c +++ b/kernel/bpf/bpf_local_storage.c @@ -568,8 +568,8 @@ static struct bpf_local_storage_map *__bpf_local_storage_map_alloc(union bpf_att nbuckets = max_t(u32, 2, nbuckets); smap->bucket_log = ilog2(nbuckets); - smap->buckets = kvcalloc(sizeof(*smap->buckets), nbuckets, - GFP_USER | __GFP_NOWARN | __GFP_ACCOUNT); + smap->buckets = bpf_map_kvcalloc(&smap->map, sizeof(*smap->buckets), + nbuckets, GFP_USER | __GFP_NOWARN); if (!smap->buckets) { bpf_map_area_free(smap); return ERR_PTR(-ENOMEM); diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index bcc9761..9d94a35 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -464,6 +464,21 @@ void *bpf_map_kzalloc(const struct bpf_map *map, size_t size, gfp_t flags) return ptr; } +void *bpf_map_kvcalloc(struct bpf_map *map, size_t n, size_t size, + gfp_t flags) +{ + struct mem_cgroup *memcg, *old_memcg; + void *ptr; + + memcg = bpf_map_get_memcg(map); + old_memcg = set_active_memcg(memcg); + ptr = kvcalloc(n, size, flags | __GFP_ACCOUNT); + set_active_memcg(old_memcg); + mem_cgroup_put(memcg); + + return ptr; +} + void __percpu *bpf_map_alloc_percpu(const struct bpf_map *map, size_t size, size_t align, gfp_t flags) { From patchwork Sun Feb 5 06:58:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 13128980 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A77DC636CD for ; Sun, 5 Feb 2023 06:58:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 829346B0075; Sun, 5 Feb 2023 01:58:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B1186B0078; Sun, 5 Feb 2023 01:58:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 651EF6B007B; Sun, 5 Feb 2023 01:58:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 54D916B0075 for ; Sun, 5 Feb 2023 01:58:38 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2E0E780635 for ; Sun, 5 Feb 2023 06:58:38 +0000 (UTC) X-FDA: 80432335116.14.89B89AC Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by imf25.hostedemail.com (Postfix) with ESMTP id 61B1FA0006 for ; Sun, 5 Feb 2023 06:58:36 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Oy5xAL4a; spf=pass (imf25.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675580316; a=rsa-sha256; cv=none; b=CQO1rUWt36TQWWvhtpivpdVCegENzpa5kxa8Uyb/9jckV1ZhrsMM0tKH/w+aj9eQpzjlii /c09Z6po3l1ZlXvRrArNz4qTOJkCDhjn56rIRuy5EOSBmOMgSzzu1h/9vdWFCVn1XLXaCM cnCdEeLdYTd+Wzytn4s0EyiUhIf2bQo= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Oy5xAL4a; spf=pass (imf25.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675580316; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rvT0LPmkis2rub1BPyeQPcuStniilZcgbmYKVTz7Hvo=; b=WyX1YMkYiPCocBid2nErl7hjVCpjItswRDWZhGgi74aaKSRv4VsEd2pyWYI04BPWEGDg0q UVxhXAhkDMOzU0WEejbfzrX+cTL6tLUNf7eyYfAQAKbHT4c1vnE66V91dxS1frPGF8Ysq0 vAKGuut4Vi7ZtBpTf5i0RJIFZiVNHcs= Received: by mail-pf1-f172.google.com with SMTP id 144so6367614pfv.11 for ; Sat, 04 Feb 2023 22:58:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rvT0LPmkis2rub1BPyeQPcuStniilZcgbmYKVTz7Hvo=; b=Oy5xAL4aXjTTwo6yYaI1NHOu5VWyI2xXvQE6gfQ6deE11ldVIy3ideM0a5D+DQHey0 1Ch7zNbFrAM2Mxq+adjEPGfyeb6rkTy+HItd92lPh8wBG4qwkyfkKPPwsViylhGza+2R 3m4jVEHwA/hpX7IsxmkeHZ7RjPVTU9InZBjXFDXeOK3Lrfwqm8SvHreAqgU64/YUAy6w Kv6b5gjZC6d3vw/2ds1OCOlSAyY5ByndnEwkG1T3n0AZC8BIy9hjKO7Ro6JNzD7+GWxY zNIqq6ubKqbPiTxzqG4R42z68sNVUDjUNaL3mxLmQ1F+t+JTCAnjxOizNdm3nk8hlzL6 0q2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rvT0LPmkis2rub1BPyeQPcuStniilZcgbmYKVTz7Hvo=; b=mfMspT4Itvvkdp1xezFq4ZY7Mc4PETsE/ALyn3KchzjNiJwvTwolwEsge2e9i7xJX9 QHcsC5pP1+515WS0JMJg8FwiWoGCAVJNffnUJ5Lt183yClgyNI+4271w5M+RdcuEm+PU tfnP57SJPMJB0x+7Qc484VWOGoO1bnfzofxYiVUEWEq9rAcyyU3p7q+Nm33+cmcFL1Sf aJ4XfEECCKpWDkgQuHaeVzuZuwJBa+iVK08E9EBtJuG34/qiGVH0XpaDERGabxvDicDP fC+ACxCYFKuzRDKEKC7XJj1OqxPBqta3ADJ3GLOm3R9cfmZXGm7rq757xiI2pjI5qDlJ YxmA== X-Gm-Message-State: AO0yUKW0LRsWP7WPkyNA29KzytUSHXF2HEmD5rBmAWjdHjFY58/RCR98 6Gu2kCjPGZzIMUD9GwUTb6U= X-Google-Smtp-Source: AK7set8rzEt0uEX1G54vHxZcUNYhAOhvPT5WYRO8loZlm4Skh+fcwGoowH1x0LGxykpYOtRuAaIVEA== X-Received: by 2002:a62:7bc4:0:b0:590:7126:4771 with SMTP id w187-20020a627bc4000000b0059071264771mr15626594pfc.1.1675580315371; Sat, 04 Feb 2023 22:58:35 -0800 (PST) Received: from vultr.guest ([2401:c080:1c02:6a5:5400:4ff:fe4b:6fe6]) by smtp.gmail.com with ESMTPSA id 144-20020a621596000000b00593ce7ebbaasm4596114pfv.184.2023.02.04.22.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Feb 2023 22:58:34 -0800 (PST) From: Yafang Shao To: tj@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: bpf@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yafang Shao Subject: [PATCH bpf-next 3/5] bpf: introduce bpf_memcg_flags() Date: Sun, 5 Feb 2023 06:58:03 +0000 Message-Id: <20230205065805.19598-4-laoar.shao@gmail.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230205065805.19598-1-laoar.shao@gmail.com> References: <20230205065805.19598-1-laoar.shao@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 61B1FA0006 X-Rspamd-Server: rspam01 X-Stat-Signature: 4mbb7imcm3ucp3cu3eogrx6cdd7nhkts X-HE-Tag: 1675580316-521107 X-HE-Meta: U2FsdGVkX1+XKsLCEXtn6oRtq0UBEFlsVFRIOyZEaoM26P1uEXsOnpDVzOgHpYrvlh2XMHYVR0qniMWo8QdnYjWOdmvEJiWYyUGHRotVpneBQ9Y1Q25TsakAkbZpmadZQleGL7XOFiic/KDr3L5+Z3b2e29Q56MVSccCaXyafkIHbLFgf6fbpBYscYfT1z+ZtPQGxYVd968M+00LmhMU0mjz+TpgWruYSwXL8J73BnXMnBdgIyZGqeJCQDChXJ9zx+/ydK5iMQ2XJ0U/q2wr+q4KsMn5OnmXEIApYNKArM7ahAl2fPnW8NSS0D3X3V89Z1CzNl+dlEqTUaagOYHut3mbO416oCJIYLw0iTrjfE0AemJWA42t3e2JRMUu5uT29HVBnL6Pirh3sM3ShiRZR9gFKYTlv6RUTctjOo+uWEnfQSkPvlDfxiBGWyc92atmV7fk9PNzZdMehP0uiefohKDY9j3DFUPWMD0hqPG+669ym5kx+LaqsHKN7b8hgT19iA9IzAVg+S5eRQy2n5jd21A69GlOwDskUDTAwOBTVBEyhVtL+bFG/iDGSfxoXG8YmsHSSr+EhANZNyTGlT3YSD3OQqOdmgygm84Cra5xbRvspZ2+DnegzRspUVnCpMZorEkBeTHyYLNVnHJXAhLVAf/LrWo16Ako3mr3MkRLOJaEmOR5Plj2M9ed9JBavt5wq3vNgN+Cor4M4FGRkNfZVLd+YhvncVsmbVp0q7aMO+BRNQtb90YMj02a0dlt7KDkKavQHhYe8WhT0EQ/YbLAfxIgQ0Efu0cqgr2eCrSZVIaMvV7Uq9RaGIXP+d6Kz3R/GfLIxnEyKUKhAlYKiDCIsp/8LjVGYHEsIYqdpFCRbuf3Yd9Yxw7x2+XM/YUU4taDvSKXcRQasyY7XmrZ97blULX/LdH9fOwoSEVBk00E5rvEoGTt11kN/TrrhCJRQYfQxUgzd3zW//fgkGT7LxV 2b2kX6F5 xF6SbSgqYV1Whn+1aoam+w/K8FbsQ9mfttW/RNfww4ojYTnCyaiiQqGJGgaQOqA+AdcYnqDY84D8T2l079LZ87Rokc74JgMdtKCN6PJt77W0XOVzr4oyNyaol1BRaIHcc9tKdB8f+LX8ddS6DB3Lb1EMv2umSYrd37O5JfrG+8nZvMHQN/ivib7OoOgAWzjxj9Db058ZAoPxyo5MYkM/ptxGeiNUGbb5NLa3KXk2eBpABVMZoGEk9UoeywKsQwFTp3QUZ8G+gLzQb+w8Dqjv+5dlG2pCm86kW3lcB+sEpRwkuEf/Zlb4KilgcBYOZr8ArfLUTFjj3T6xGI4nW9+Y6eF+Pv6JFgbpDglawQDfXSANVc9iWOXjiMmTX/YZqA94pokNn5PsYX7THnKF+cKusgdbcQ1mo8rHvz3FDUElt8hSzoquj9acQgZyV10CmjOVzOl9dWIablLYw0G8P2cRZDrepjfFFVC2MIo36I/99YMJo5c25XuP8UELDufGZ3diC9VDlzrM0RXzCVTn7gQ0KMMhK/ay/UI1eisc4bpWU7r9YagD8IDn6IU2jL7I6Y+hiF1U5YNBu+cD2Uq2kQIfeuOZrUEqJeTlmMb7FoSQt7iHtNEw8IQHzNiM/GDepSs6gxgwh 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 new helper will be used in both bpf prog and bpf map. Signed-off-by: Yafang Shao --- include/linux/bpf.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index fe0bf48..4385418 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -28,6 +28,7 @@ #include #include #include +#include struct bpf_verifier_env; struct bpf_verifier_log; @@ -2933,4 +2934,11 @@ static inline bool type_is_alloc(u32 type) return type & MEM_ALLOC; } +static inline gfp_t bpf_memcg_flags(gfp_t flags) +{ + if (memcg_bpf_enabled()) + return flags | __GFP_ACCOUNT; + return flags; +} + #endif /* _LINUX_BPF_H */ From patchwork Sun Feb 5 06:58:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 13128981 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86BA9C636CC for ; Sun, 5 Feb 2023 06:58:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 25B576B0078; Sun, 5 Feb 2023 01:58:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 20B976B007B; Sun, 5 Feb 2023 01:58:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D3436B007D; Sun, 5 Feb 2023 01:58:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F260D6B0078 for ; Sun, 5 Feb 2023 01:58:44 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 79C221C5FD2 for ; Sun, 5 Feb 2023 06:58:44 +0000 (UTC) X-FDA: 80432335368.29.370F71E Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by imf21.hostedemail.com (Postfix) with ESMTP id AB3601C0003 for ; Sun, 5 Feb 2023 06:58:41 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gVVFqTvJ; spf=pass (imf21.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.215.182 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675580321; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=PJFamjlYxQHTtnnrxr9/CB6pQuqIvvtPFL7L8VSX2/I=; b=7G+ZRQvP6K4RzbvZDAzPagUIEBd28B17sXdnHtvaV+CKWk7DsQEQN24Y4CwFoPgFH50qWL ah5L6oA63rcOL3hmydEC0XwG4eQBQLT+YhiL/9dlVq3gwFN5DT8hDn2iPRnTW0Y14Ze++s uizIjbMC78vLdJWA/8A85ic/ucGBkJ8= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gVVFqTvJ; spf=pass (imf21.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.215.182 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675580321; a=rsa-sha256; cv=none; b=cZOPVudd3b6NnsOWyFZhmX/P9u2t+3jLFCYXnHdjom9M407mI0xm+jp7vNMyNDKEBvt96L 8XggevBf1XnCNLG+nM300LsyuvVvgbQGR8aTeSzCAcuCVeIxBr/iZasYtIPOEQCbs5rj9R RhInVH6+kwSNJHoNdG0OUeWnW/0ccSE= Received: by mail-pg1-f182.google.com with SMTP id 78so6242090pgb.8 for ; Sat, 04 Feb 2023 22:58:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PJFamjlYxQHTtnnrxr9/CB6pQuqIvvtPFL7L8VSX2/I=; b=gVVFqTvJAZvfk8KKjegWy9aL927a4bXCh4S7/MsZ+dJ0CQpxeUSN6EnF7tyCklTTVQ OVsq1QzMjsCmcd4BOylXTpoB3f2DZmVqjGVsbDRHa5Lie0k/KIbmAGfFc/MYK1Jdcvp8 kXbE1kfU4oELctIwFWc7kLsfhakbRJ8kr6itCLvgz2YzqPxDbiE1XUY/QiK1L4g+zGnf eI6yV7bDEnOzZWom77cfc2Ly8cBIzfy+2ALeyzmgSBVV37qlT46yiT8rx5iPwXyumGu9 Ts4yaKM1P5BfT/IhvtQg1f+x7ANzPnIYfqWkXtcAVNgbvrPeUMWaS7CyzW7PnviXTyq1 BwOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PJFamjlYxQHTtnnrxr9/CB6pQuqIvvtPFL7L8VSX2/I=; b=lhY4W7wS7blwfkbqL7OGCwrR+kB6h5RStWWv40RJ2jnjPJx9hIbE0J2frc99edTBzu zMXcBYjgbnJQyVL3yqPSE4VVhiTxMWpzmwEYu3coptwmmSAsYnlSs8TTirILREtHVQPe 0jaSQ0owPRgs7VL4C7QKNLjjDxeycktKCtFR8XGYYVzMA44+8t5dREg/pAKhc2tBrcfC /X81INcLF/vr4t8FTUi1eMelLCpD1vqnSqBiR256b7Li9XDlwyXzJwy9mAVG4+3yclm2 e4uGMlNiT48FxvYCL11pss8OT90ziEEeiIMsKx/3whWT80yS5tKWwgd9NDsWdIafzfbj e8Mw== X-Gm-Message-State: AO0yUKUGBjlkm5QeCFZrwU64O55wbPYyFpL7VDlxzftdMV0idbCYxmHo WuiSMNEQYIh34xWMBSlGFGA= X-Google-Smtp-Source: AK7set+glF6tWjUrkVQNHbTTC350mIZnSUIpc9KCsFFirDloxXVTbOwqRd1Jx1RWYbBp3T31d8U1EA== X-Received: by 2002:a05:6a00:1626:b0:586:b33c:be2 with SMTP id e6-20020a056a00162600b00586b33c0be2mr13886223pfc.26.1675580320593; Sat, 04 Feb 2023 22:58:40 -0800 (PST) Received: from vultr.guest ([2401:c080:1c02:6a5:5400:4ff:fe4b:6fe6]) by smtp.gmail.com with ESMTPSA id 144-20020a621596000000b00593ce7ebbaasm4596114pfv.184.2023.02.04.22.58.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Feb 2023 22:58:40 -0800 (PST) From: Yafang Shao To: tj@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: bpf@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yafang Shao Subject: [PATCH bpf-next 4/5] bpf: allow to disable bpf map memory accounting Date: Sun, 5 Feb 2023 06:58:04 +0000 Message-Id: <20230205065805.19598-5-laoar.shao@gmail.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230205065805.19598-1-laoar.shao@gmail.com> References: <20230205065805.19598-1-laoar.shao@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: AB3601C0003 X-Stat-Signature: dom5hikj6ripzmj6rrbjxiexx7eo1tnb X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1675580321-426911 X-HE-Meta: U2FsdGVkX19v67ehUXMfrEKSYxnWCVemSobGLV/wmp2bTI2laxh1zOy87uOhq70SJvwEnJyuKWkEALSETKzx3uNsUkBGoYbdF5R45lMCdQ47FwXK827z27tBeNP+8tYsZOGiuIrYp4C2SwoUY9XE6scsuVQg9R/hMf3uFDgljWk7qNnvQRQEalX796wr0V5amQelN9nl69ltdPOm/eTkzFwWnNFnHbb8W1j9oJpAbw8I9xitvfqoAXhaHyHzRbSiJPI4PxNIaWQdaHNBuQtsc+MmFjZ+2fID+G3E0ub6h3qFaxswqxWo0tI8ZsWrDGv/FAPEJkAbcbzXuzJ0n5EEx0U3gHub3Gm0D+r3MWghnHttkeLBcvW6mj1FQ/zhXpNO8AEHbnSfG6q4eqr8Ep3WMlLKn6b9334YiEaGVI9K5gec7UmLvCcRZOib2+Dcn4oWRG4dnG60bT2s3GhEk5BIoC7Cq7L37olM5LC9rSy9ZQ/qZGR54m1NEVKo0RDhWERPhSCCSjFOrj9EvR1On2/JYolbFiDXmCVbD3MoBRSHDmMEr+g5Ee9QEDjUhyVZNz35sCllDODWkDHe05+l/kmtH5jQczke1tGGu4Gm0yKomUYN2Qp+cJYDG+zLo+4Vh+xo6ZeiV//kw2pTzvXc9C/zIp0uFOu/ofI8U5GK9u1ZquxJf0caamBXL0/uB+nC84kWYZTp3BE3VqvPLEJJLpYm1F0gmKSwKP2gqP/5eAqNXc9t44AmnlRF06kqPshj4vDY9J7jdxsg8SJVTSCahS4a1SG7ZUQB4lGi1TU8YZiwAZRMbs61YdxEQ70wau8fCYaUhQ9DgvpioKRT+hMKjTABLwI0FOfb4Qszvuj6mxHoddJH4hFvMLGHAuw3Ygbv4b1y2amV8ztNtgJDYkr9M48VWI0F97zt5fZqnl+JNR/yVKJyjBlHw771/dSv7r1+RRpeB1431gxon+Akl+YwPwo GqQkkzLw NAQHIkbMidMoP9Y9CMJzeqj3fVZ3ou7io2GOxHGbfPCJA3N7iDryzYQY1X9ahHq5ffY2XEdqPrcigy37cHvq5KjigBBc1H21QCbxVlHn6+cNsBoAlng9A1O0zNXvqOLlIfEG62/lowOJxXOVjxyk90ulAFLbqGjigAdSgmIjE2YNZenaAOB0z6ImxKh3RN/s5ge6ib/ZpcjLa1OW9RZCgCdpYYjaBrIz1R0hAYnkmbpiqbAuVZi4VE7nEi3Y81Q65vKFGdhWrVOy9sGrfEWEk9+1/pca0ay8Lz0F2W/aFqqMd6zp+1ibbluYpwgLdFsrTGsrhAzONqMRkwqbfkhZfouPjAH3dLiJ+6VrhOK6DoqqPKmKnFDaNF3L9TqNvAioA3MM8jNzN1myK09X16yOQUzN56zmLNS9qApySGX33VKTZFeP1AqSCDKonukCzuA1ApaE/+HP8N1oUBAM= 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: We can simply set root memcg as the map's memcg to disable bpf memory accounting. bpf_map_area_alloc is a little special as it gets the memcg from current rather than from the map, so we need to disable GFP_ACCOUNT specifically for it. Signed-off-by: Yafang Shao --- kernel/bpf/memalloc.c | 3 ++- kernel/bpf/syscall.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/bpf/memalloc.c b/kernel/bpf/memalloc.c index ebcc3dd..6da9051 100644 --- a/kernel/bpf/memalloc.c +++ b/kernel/bpf/memalloc.c @@ -395,7 +395,8 @@ int bpf_mem_alloc_init(struct bpf_mem_alloc *ma, int size, bool percpu) unit_size = size; #ifdef CONFIG_MEMCG_KMEM - objcg = get_obj_cgroup_from_current(); + if (memcg_bpf_enabled()) + objcg = get_obj_cgroup_from_current(); #endif for_each_possible_cpu(cpu) { c = per_cpu_ptr(pc, cpu); diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 9d94a35..cda8d00 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -309,7 +309,7 @@ static void *__bpf_map_area_alloc(u64 size, int numa_node, bool mmapable) * __GFP_RETRY_MAYFAIL to avoid such situations. */ - const gfp_t gfp = __GFP_NOWARN | __GFP_ZERO | __GFP_ACCOUNT; + gfp_t gfp = bpf_memcg_flags(__GFP_NOWARN | __GFP_ZERO); unsigned int flags = 0; unsigned long align = 1; void *area; @@ -418,7 +418,8 @@ static void bpf_map_save_memcg(struct bpf_map *map) * So we have to check map->objcg for being NULL each time it's * being used. */ - map->objcg = get_obj_cgroup_from_current(); + if (memcg_bpf_enabled()) + map->objcg = get_obj_cgroup_from_current(); } static void bpf_map_release_memcg(struct bpf_map *map) From patchwork Sun Feb 5 06:58:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 13128982 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A026DC636CC for ; Sun, 5 Feb 2023 06:58:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4586D6B007B; Sun, 5 Feb 2023 01:58:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4074F6B007D; Sun, 5 Feb 2023 01:58:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A82F6B007E; Sun, 5 Feb 2023 01:58:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1A3116B007B for ; Sun, 5 Feb 2023 01:58:50 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D73E7AAA95 for ; Sun, 5 Feb 2023 06:58:48 +0000 (UTC) X-FDA: 80432335536.13.785A7F0 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by imf30.hostedemail.com (Postfix) with ESMTP id 1E4128000A for ; Sun, 5 Feb 2023 06:58:46 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=a57J4S2w; spf=pass (imf30.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.170 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675580327; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UUYnykaARkkOFageVVuRXJFo/+sLEm/iUIcvMP09NQo=; b=LiIg1HHloKCtjw+5A3RkVEA58NL/lRfFsnkH2O/sL5ere1SLAoCk0A9KVEggRFtd27/4fw E8AqDxGVrmcfqu+L0yfemyBnD/x+wb5eHU1IAjCtgV29/CcJ/5Hliw7291raBLyKFe2p7Y F96Vh4WiocFgaSDLbzryJaxnmXjWC/c= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=a57J4S2w; spf=pass (imf30.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.210.170 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675580327; a=rsa-sha256; cv=none; b=FGEgYNazDZUHu1pka+mxSKyxh0ef+mG82Zsv1mOSKPa0O/6K+Nrl5ZlhDfWbecHeEtZ+Ae 5arUyUXWMUeptiEpCoB5yvAHp8j1ys5HsNSUDLbsuO9oOOfUn6wi7Nf0sANTB35dYY0R4z sScjFMo2hwHSDrTJsiv77ogC11Vh6tQ= Received: by mail-pf1-f170.google.com with SMTP id g9so6379120pfo.5 for ; Sat, 04 Feb 2023 22:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UUYnykaARkkOFageVVuRXJFo/+sLEm/iUIcvMP09NQo=; b=a57J4S2w9eyKDMZ9OBUJ6kf6vR1VHJuYUOYq6cGgNDezvgehxMQxiQLzN51fOnil+5 DlIcYvlG4h0xQaPY+WdBD9SdZIQsg67KK4axSoellK3vUZSqXtJocopfFVARTJnLQbk4 xGzbd3RY72M2M5MSGcfKyymLNNeBoSbRbgxq8BZo9nqCyaZDW83JoZ98YMhPHNIIUdQH AplmWxymxSsBbTx3vRXRWPAve2uLvQTLdcAEMGTrQeiRQJ+2zB1nbaw+WBuBwBQaXiuW T8HRsVyFsv8OzuyK0mXraJ8183a5zu/RW4pS7pQ7r/omuWkXLEv8TbXEHyl5OEJmZyfP HLsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UUYnykaARkkOFageVVuRXJFo/+sLEm/iUIcvMP09NQo=; b=WHt4pcVwz3WqMjLDbRLT4aaTyH4z36dAsTdnMZcDgHvmYXBhUUhC7nyX1H/D0+9nE5 J2yPq47+tW7k57BudUhxiFraEJW/zlx4al0AtG3VsT4rMpuUjcJ/5ILwSJbiaWrt8OPg BLF5BTBNg5WlwDI0KFdq6lRHuYEkgvARdvXO+SEkQi0eSOtPFGjZjveZKxDcZ3f6e3Is MqIUFZqKS7Cf43alZVyqeIqxzFWsMXXs6eLLWwExAZfv1NI3YCI1+qlWp2eerm3a2yq8 /AhU2FWLS2mwrnyPNLSnVU51H3EHt8eAgcYxL4HUAoOrv1Q8AYoIV2y2JHM8F5uWZ+Ru X4Ag== X-Gm-Message-State: AO0yUKWSZ67xfXyjG2hmgv834agdvOd/Vo5wBYwDYbgYUJH7tm+OCFAm 4WvYCiHmRc2yiiDEV8T/s78= X-Google-Smtp-Source: AK7set/w6dPubyS97p4WKEL9Dv1iFkX3k0KUGaY6uG6A7WSUm6tHBNwMv7hcZLwgEx+QbevpeIc8Rg== X-Received: by 2002:a05:6a00:1a47:b0:593:b309:aa55 with SMTP id h7-20020a056a001a4700b00593b309aa55mr16799764pfv.28.1675580326085; Sat, 04 Feb 2023 22:58:46 -0800 (PST) Received: from vultr.guest ([2401:c080:1c02:6a5:5400:4ff:fe4b:6fe6]) by smtp.gmail.com with ESMTPSA id 144-20020a621596000000b00593ce7ebbaasm4596114pfv.184.2023.02.04.22.58.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Feb 2023 22:58:45 -0800 (PST) From: Yafang Shao To: tj@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: bpf@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yafang Shao Subject: [PATCH bpf-next 5/5] bpf: allow to disable bpf prog memory accounting Date: Sun, 5 Feb 2023 06:58:05 +0000 Message-Id: <20230205065805.19598-6-laoar.shao@gmail.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230205065805.19598-1-laoar.shao@gmail.com> References: <20230205065805.19598-1-laoar.shao@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: h4b4dxw7j63du85k3xzbzgznzj9rwdny X-Rspamd-Queue-Id: 1E4128000A X-HE-Tag: 1675580326-71659 X-HE-Meta: U2FsdGVkX1+R1SsR4+PE82LK79JOf7E6rAHuik3nPcqt9f+r493jdhRSPv0s9drFwaok8ZQqXSp1H2/VCBNGnywO0JYvabbKkTxVd6XLiqx7MwOJcasfqtOgzgdsSU73FQQy0Oh7oHk6QgAqaWdz7brBt6gIdqscgaj3+MjZfx0MlTx3XM0QUoveVuOhaEJ9XKSHZiUuTaIBjupkNz3MEi+1FdIi66qiSXYpbztZ/ydu0vkQhR2V8MQb63ajak+OGYIY6WqC3Tc0p4p7xZyLCL/GqxkpxswJLbnyoCrXEcsUfYem4n7Y5r1ZIRpaf/tMY1FiLR3lBYdlQ5yUziJKudl+FdoJRyJeBV7pzAfh8BxzvJTc/isDSCva6WTQvKfCkvC6rI7kuRv884GaNfE6stYvbqBgZZf81xDpySV6pRd6or5XCzL7bjfRoUDOZNktDQeIPuZqRpya5NAiWsD55s60Fl5bWgi+EpEYTmeo5BoMwhjsA3rU0mw19LMFz61L69wdlLkgWGs5MARkCpJIT02k+vsehZQHOppPuawF+b7G/JbPDdOMRVNAMXF0SItu229AvwZBor4XG6cdLT9eEs3eEiTxZ30sZKEebMtkibAjbHgE7/MWaoryD6FqJaBBLACb7i+JJBBRecng+8cg2lTy3+ImX72oY7TvHLXhlaFhHeQLqoCBi4/aQbWV/QKFz3PmivtB597J8weJ3Ne4VI7wwU7Ms9gTrI2K8H/yUKrYwHRHBixvKJ2wuBbaxYXiM0wElKisdlz1qCrEKOHmVlDAALWMXR7tHKRBjbwdMeHfcYHXHCqUxbuLkkr07INtYogCitGsHL4wUlWlfpor9MTqg5+evT2BqSSw9Qe+SL+qk6xY0PAavYdxOdio1GlwKwaYC1zfG5Vnd7pU+d4ryD4kT0Ysi6sx3ZPe0rzyFaudkYhOmec3xKjjdAQboFi/a2odPaVPP16rwl8l3RH OYu6Rszq ELUVzBDJhKZzrwaGe3ISVV3VDau7VEA5IxM6rptqRk7rRTeYnAS5yoCch7RDtNj39WNL7Qd7lHRWfXR/gYD2NvEzoxZM2LOwIdLP50t4x0RwrWqacG+oxMRDJ9daXxydTi8jP5yjgC4qa1EjOZMen/EG0OVpbvUkO95rEcaj+pQC+oSE9FcZ4uVMqtOGgAJvrblVydNL7/d+6g73gW956ffuRDx7GCmK4JyMlKKTIBUtFwrEo9GKsxp4rugU7VrxF5woLjoOpfNeqjZxO89R91LKAJX8Xu3dOPC7t1M+n8pQdCSB8LszLIqEnr095EchJx9hvl5Ewv5+O7G1tQaRq7HJfPBtjfACirEnj/fVVIvX6pqZLzyMTnGbtpzy2jEI/zkoV0lDIL0Ikk2pr1y6bmzrmdCSxpeZJQL6CpAKhMfWzt0CKDk+sV9Oa1vLW6Dbk2ohtyjTPFqJHcOe4LaflKQrGGeUYzrwOHYiyPKdxOFylkA2KIEK9p0mOLSstVCdSkR0mh3nYVW1xJZ6C1zdbeat5ELXM3uvFCfjNoaB6wWr5er2TUF9ogj8QkcQqV5hc++Wxjfo1xwwLWqKn4Ms3lo71mQ== 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: We can simply disable the bpf prog memory accouting by not setting the GFP_ACCOUNT. Signed-off-by: Yafang Shao --- kernel/bpf/core.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index 16da510..3390961 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -87,7 +88,7 @@ void *bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, int k, uns struct bpf_prog *bpf_prog_alloc_no_stats(unsigned int size, gfp_t gfp_extra_flags) { - gfp_t gfp_flags = GFP_KERNEL_ACCOUNT | __GFP_ZERO | gfp_extra_flags; + gfp_t gfp_flags = bpf_memcg_flags(GFP_KERNEL | __GFP_ZERO | gfp_extra_flags); struct bpf_prog_aux *aux; struct bpf_prog *fp; @@ -96,12 +97,12 @@ struct bpf_prog *bpf_prog_alloc_no_stats(unsigned int size, gfp_t gfp_extra_flag if (fp == NULL) return NULL; - aux = kzalloc(sizeof(*aux), GFP_KERNEL_ACCOUNT | gfp_extra_flags); + aux = kzalloc(sizeof(*aux), bpf_memcg_flags(GFP_KERNEL | gfp_extra_flags)); if (aux == NULL) { vfree(fp); return NULL; } - fp->active = alloc_percpu_gfp(int, GFP_KERNEL_ACCOUNT | gfp_extra_flags); + fp->active = alloc_percpu_gfp(int, bpf_memcg_flags(GFP_KERNEL | gfp_extra_flags)); if (!fp->active) { vfree(fp); kfree(aux); @@ -126,7 +127,7 @@ struct bpf_prog *bpf_prog_alloc_no_stats(unsigned int size, gfp_t gfp_extra_flag struct bpf_prog *bpf_prog_alloc(unsigned int size, gfp_t gfp_extra_flags) { - gfp_t gfp_flags = GFP_KERNEL_ACCOUNT | __GFP_ZERO | gfp_extra_flags; + gfp_t gfp_flags = bpf_memcg_flags(GFP_KERNEL | __GFP_ZERO | gfp_extra_flags); struct bpf_prog *prog; int cpu; @@ -159,7 +160,7 @@ int bpf_prog_alloc_jited_linfo(struct bpf_prog *prog) prog->aux->jited_linfo = kvcalloc(prog->aux->nr_linfo, sizeof(*prog->aux->jited_linfo), - GFP_KERNEL_ACCOUNT | __GFP_NOWARN); + bpf_memcg_flags(GFP_KERNEL | __GFP_NOWARN)); if (!prog->aux->jited_linfo) return -ENOMEM; @@ -234,7 +235,7 @@ void bpf_prog_fill_jited_linfo(struct bpf_prog *prog, struct bpf_prog *bpf_prog_realloc(struct bpf_prog *fp_old, unsigned int size, gfp_t gfp_extra_flags) { - gfp_t gfp_flags = GFP_KERNEL_ACCOUNT | __GFP_ZERO | gfp_extra_flags; + gfp_t gfp_flags = bpf_memcg_flags(GFP_KERNEL | __GFP_ZERO | gfp_extra_flags); struct bpf_prog *fp; u32 pages;