From patchwork Fri Mar 14 06:15:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shakeel Butt X-Patchwork-Id: 14016305 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 8C96EC28B2F for ; Fri, 14 Mar 2025 06:15:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F4167280007; Fri, 14 Mar 2025 02:15:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEC3A280003; Fri, 14 Mar 2025 02:15:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D91FF280007; Fri, 14 Mar 2025 02:15:40 -0400 (EDT) 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 B3D65280003 for ; Fri, 14 Mar 2025 02:15:40 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5A2061C91C0 for ; Fri, 14 Mar 2025 06:15:41 +0000 (UTC) X-FDA: 83219145282.02.1C00A41 Received: from out-170.mta0.migadu.com (out-170.mta0.migadu.com [91.218.175.170]) by imf06.hostedemail.com (Postfix) with ESMTP id AA4A0180007 for ; Fri, 14 Mar 2025 06:15:39 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=lW53X41+; spf=pass (imf06.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741932939; 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=GHfMqiybfg/wadzE/r4pC5kSUqcreJExX0T8UoeIBCE=; b=BICEgbkRKCDbSuWmgXJHPji6VT8MJVbyVnnut/Yl0TgTPxjN+SkMnoIxqr/8LuXaI5hzBU 3zYHf7WdHDO7G3KdkH04Fapsq6T9GD0/Z5jmlXs9xpB6RhQhJ5AsADZstQHgg3Fcg2ErB0 BLWG9zuwL5QviOIebPjfkFwksMKE0sc= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=lW53X41+; spf=pass (imf06.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741932939; a=rsa-sha256; cv=none; b=aa1Nife7QRagDuKA+vWWkWb9iKy9jYk62Ds+w1O0V7eljQ6YkZpsRnhX+6SqaNw3AYZ+m7 2bhuiAkosQZCDvZZ9BXpCX0ZjGbOirFR9A6UE5jE2MGplgcL4pk+C8LAn0SGL+UNYQbhlS aQN/NvdtWSgQ34T0v+J1a59jPjdHSe8= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1741932938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GHfMqiybfg/wadzE/r4pC5kSUqcreJExX0T8UoeIBCE=; b=lW53X41+bXtE/Pccr68GzJy8M1OGwPSERF3WpfrSeM1+eRyR6ZO5RUE+LGGoKkOl7MQME4 6FhWXE8Ek04ZXXxR8nAGVb7rCa4kXqwDs+rNp9NJ0Yia1I8mVy/nQvi2NZZY0xRfeuZimx iF9NPX2PD5aazVpGSYv6Fk0c5u38YjU= From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Vlastimil Babka , Sebastian Andrzej Siewior , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: [RFC PATCH 04/10] memcg: manually inline __refill_stock Date: Thu, 13 Mar 2025 23:15:05 -0700 Message-ID: <20250314061511.1308152-5-shakeel.butt@linux.dev> In-Reply-To: <20250314061511.1308152-1-shakeel.butt@linux.dev> References: <20250314061511.1308152-1-shakeel.butt@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: AA4A0180007 X-Stat-Signature: fmfuryhpo94gn1qhoa8rzbgkj65uz8m8 X-HE-Tag: 1741932939-641322 X-HE-Meta: U2FsdGVkX19HmK4KDB15rtsM0AasehGPXBmaIJnANtu9kxmOOtfBYqzTJKEyAKEK8pMUN/wLwgd9krKogEzON5gbyzvppAGzYa7TYzkbJksfP7RSkIOwa0MduHhPTHmQTX7ZRJ6P/sy5Gkfufw2bwHHuTBKbLmymiPpBMMDKnzjlSqHEYbNcvkuCrVEDPkAd5RV9k2WRKkmKeVeJqGMC8A0MjkeUnnv8zqA9+ROECSKIoqaRa7ZwH4P3tn9lWEwn4S8b5oG4F/18TpzaZ9ktPgpqXdjsnxQ1FJeqLR+/2ZxFBt6WYr0jUd5Uh+cOMRsYc1pSIXOSBxlgi0GQBXYI33oBw6itz+VY9xTQVVmn9B+2f3/ghf1Q5XBt/F2ZlZwM9R+V4OPEkfWY3Z4CCe4PY+etL8D7eGvZDZGsvyJLtrzm3gh1ZN5z330i4K8p0SgFdjAHR+OpaCjNf/Ng31ZwhwHlBc3pf/lwGxOnm65FbmcdvpVaBUZUn8z0i3vHRgHNsCo7Q4nAMRyfCFS8YYS4aNmV3fyYLEGZ61SdTMDzj31nEWJW16DKTCorMfqfHZXAi2fYKe60yTeKhbIX2wW2FCAzzQ1yOPIJ10xKNMkSm5ph8bgUSnT9cNhy9l29CToZnQtzyMPWEL3uCqj00yMYzmUsTPn03iXyi01x09NngMOzYZCmQBPn72VwPlfni/D6MyclHO3MyAolog2NHog5sgwI2qkbysqfpFDxeAuIUNCdOfsQnUOm15yUZQqb8VM6oZuE6rCrGaSB0zbbFq04lP1eEk6KCn1oASETDGSNOZw0uwNw7PgPyW4oHaTa4vso3by27ED2HK5OnqOxyW3f+3yq93OfwBdhQN838IUr4ZVfRq86Q1F+Yp6js+15t8FJkCR3PxmMR7gmgpPt5YMP//Pc6T8jVVDNSNdX224G2J8v9p9Z+S6wEQgyD1J6Z+OTtox6Bq26irJ7IAig4nM Cc2EW7a7 C3yvuDYSs3pvOeKaYXvpQm0ajT+plhK748QWhr1lSEOZpQLNWhgncFZH4kRV9P9qx9M4NSP7f5fjvrEQSNg7sQcpG2maIp5kIO2wFAbQTMYRjTx65srmsdmP6i4cJCOp3AvWFw5T3LwKBh8pB8wLqzRz+DotcP3JnpXLZTbbb/PQ0MBkAYQRDvKXNK+rxu/PBKnQy8AevFMzawrUEU2AjGcGFHBvCcKcGmSFL 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: List-Subscribe: List-Unsubscribe: There are no more multiple callers of __refill_stock(), so simply inline it to refill_stock(). Signed-off-by: Shakeel Butt Acked-by: Vlastimil Babka --- mm/memcontrol.c | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index b54e3a1d23bd..7054b0ebd207 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1865,14 +1865,21 @@ static void drain_local_stock(struct work_struct *dummy) obj_cgroup_put(old); } -/* - * Cache charges(val) to local per_cpu area. - * This will be consumed by consume_stock() function, later. - */ -static void __refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages) +/* Should never be called with root_mem_cgroup. */ +static void refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages) { struct memcg_stock_pcp *stock; unsigned int stock_pages; + unsigned long flags; + + if (!localtry_trylock_irqsave(&memcg_stock.stock_lock, flags)) { + /* + * In case of unlikely failure to lock percpu stock_lock + * uncharge memcg directly. + */ + memcg_uncharge(memcg, nr_pages); + return; + } stock = this_cpu_ptr(&memcg_stock); if (READ_ONCE(stock->cached) != memcg) { /* reset if necessary */ @@ -1885,22 +1892,7 @@ static void __refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages) if (stock_pages > MEMCG_CHARGE_BATCH) drain_stock(stock); -} -/* Should never be called with root_mem_cgroup. */ -static void refill_stock(struct mem_cgroup *memcg, unsigned int nr_pages) -{ - unsigned long flags; - - if (!localtry_trylock_irqsave(&memcg_stock.stock_lock, flags)) { - /* - * In case of unlikely failure to lock percpu stock_lock - * uncharge memcg directly. - */ - memcg_uncharge(memcg, nr_pages); - return; - } - __refill_stock(memcg, nr_pages); localtry_unlock_irqrestore(&memcg_stock.stock_lock, flags); }