Message ID | 20250415024532.26632-13-songmuchun@bytedance.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 ACA97C369B4 for <linux-mm@archiver.kernel.org>; Tue, 15 Apr 2025 02:47:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37B042801BC; Mon, 14 Apr 2025 22:47:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3274A2800C2; Mon, 14 Apr 2025 22:47:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A2BA2801BC; Mon, 14 Apr 2025 22:47:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EE90E2800C2 for <linux-mm@kvack.org>; Mon, 14 Apr 2025 22:47:01 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 943B5160B14 for <linux-mm@kvack.org>; Tue, 15 Apr 2025 02:47:02 +0000 (UTC) X-FDA: 83334741084.09.DD35DF2 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf14.hostedemail.com (Postfix) with ESMTP id AB8CE100007 for <linux-mm@kvack.org>; Tue, 15 Apr 2025 02:47:00 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=OHkBBD2B; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf14.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744685220; 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=Ubou74n5eLeoB4dEz2IgWAHxjcUZtEwt6QUiSiKGpOQ=; b=qCbgla8jTB17TbQOw6aVpC9VyrZqRf/AdlOtBL6n0UVF6qBW8eYzVurzXdT7kIA/XTtzr6 W1/zmMRqAYnb6Z9Cif/ig0VZaNf2q6WDauZ8KMLUDEk6XMNnCpXG5TzXipExwRc9/jrBUN RAjSHyrwrE2JD7A3WyACnIcrfAh3Nw8= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=OHkBBD2B; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf14.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744685220; a=rsa-sha256; cv=none; b=EfEaj2m1LNyqUT10WXh/NOxjjuRPSZEM4phFjSKOsNLunrOq1SqsMLVtte1ZhN8E/kdn+u VQJULNGUcNiEYuI8xlp2jwtt51enMB4C39Jggj0WFXmlgL4iCvMHPxMcHDG4fdh4WKN8HL Kx8cAXNHpUJzl1Bz7mw+0ajt8yImLSc= Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-22409077c06so65950775ad.1 for <linux-mm@kvack.org>; Mon, 14 Apr 2025 19:47:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1744685219; x=1745290019; darn=kvack.org; 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=Ubou74n5eLeoB4dEz2IgWAHxjcUZtEwt6QUiSiKGpOQ=; b=OHkBBD2Be+1jVspW112/sJkYEB2wt9jSjEyqRzwCqp4qTwSLcdeOAxzMbYORoh/lYi xevLTsPJTlHNKTf1M2oe6rDx7oX9kjZ7G1ddySPeHE+Ewz1Xw4l2OVHSrdA4tPzAW5V0 5u+vcf/bIzvTgtUee6UYLzsrauEYgcurOyBgmGiHRSjVsXYaHg5YtpKx0oICPJCG+jOR bNBTSvAjfUrfCYFPy+jIZ+9zHFq6PjPfM9iIWYkZZRSB2YzMQEoA2l7yMWOiruG/ncKd 7Gs2405CQL+MaHwFG4Qc2Ub86bY3uKxyLZ0wVdYwCc62NNro41xLCY6nYfwZuweRIfXZ RWBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744685219; x=1745290019; 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=Ubou74n5eLeoB4dEz2IgWAHxjcUZtEwt6QUiSiKGpOQ=; b=DqKMpLj1xYmTw5gT+JUCgc/st53ol0408vjAobVRFQ3pUgH7rgkyoxKJscF4m7MDx7 qd8iZ3qlfPIihy9LkhClrkBXuEZNH8HXR740YIg1sKTeUIEQePLzgGUDrUeyYQNwkfDn Ue8e7CLoZqTzvV3J7x1BabN3ueUQJwa3K8NgE5PwtH/jw1rvo9GKSp3K9JecW14WonyA FtI/Gg1Uw73X9xDdvVsS5VDZ9yr0sxBl/54RrWu0oNYaxzasN8JTqZkKFEBWB8/tHXan Olim+rOusp+2wGGSed3XtB8MRt3HnPDy2sLRFRocjHrxJ3MzN+gcGBAHxvmxogplP8WN Ew/w== X-Forwarded-Encrypted: i=1; AJvYcCXveeDd/lLW1iP7Pxv0HKpthvfLzeFppeVKGmL8OxcltH0B+mHmfA/rP0+rDAQFmlI0s4nykdXC/g==@kvack.org X-Gm-Message-State: AOJu0YyGqgP3W6ImK357tWpkFZk6+khKm69c5Bg79N6N0TxOe+MlwU21 IgSsSjjB9VZiSm3W/97ZH0Ojv4ldB0VP5Fo3Vzpti4zdLuUftE5NsDSUSKnWod0= X-Gm-Gg: ASbGncssCh2O/B4sQQTw5wybTMQT/AFAKdQ+RmU8UA9sSCtSSjxqj2pTUuk+r+d14gd ulWcH7c6Ab4zFR8eXO+L+7+Eyrmu2T3bMd7af/+gZLEOnHpzTtoTHAVYKLOVTmoYi6VjV3/kkzc XBf4vEI6l85g4CY/L3gTug5lq9Ed+jJuZtUbq2RfZGFgIKdoyorYX8yW3GFTxZgVblLADa3hC9H B+35oPC6l7HWxL4FCbKcm1swLihcEW0YxlFplfLVldjKrWp9CF0t8GYeOhR3hGPyhrVPAje5lkl mPcESuCCR0uuowJcY5K0pD3bx4NWH1BYB2hvO9Z61YcYCZ0N/Mt9FLxx9PXHmLJlImD3Ajyl X-Google-Smtp-Source: AGHT+IFRGP6yJdpVqApS9S/aczCeDW7cEdxeVDyn5gX3MHZ0LzmgIuZG2begu5ay7gyJ3d0hK4lbIw== X-Received: by 2002:a17:902:db0e:b0:224:23be:c569 with SMTP id d9443c01a7336-22bea4adf49mr221463895ad.22.1744685219616; Mon, 14 Apr 2025 19:46:59 -0700 (PDT) Received: from PXLDJ45XCM.bytedance.net ([61.213.176.5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22ac7ccac49sm106681185ad.217.2025.04.14.19.46.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Apr 2025 19:46:59 -0700 (PDT) From: Muchun Song <songmuchun@bytedance.com> To: hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, akpm@linux-foundation.org, david@fromorbit.com, zhengqi.arch@bytedance.com, yosry.ahmed@linux.dev, nphamcs@gmail.com, chengming.zhou@linux.dev Cc: linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, hamzamahfooz@linux.microsoft.com, apais@linux.microsoft.com, Muchun Song <songmuchun@bytedance.com> Subject: [PATCH RFC 12/28] buffer: prevent memory cgroup release in folio_alloc_buffers() Date: Tue, 15 Apr 2025 10:45:16 +0800 Message-Id: <20250415024532.26632-13-songmuchun@bytedance.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250415024532.26632-1-songmuchun@bytedance.com> References: <20250415024532.26632-1-songmuchun@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam01 X-Stat-Signature: 69megweysirp1ym479mpnscp5fmqfj3f X-Rspam-User: X-Rspamd-Queue-Id: AB8CE100007 X-HE-Tag: 1744685220-927450 X-HE-Meta: U2FsdGVkX1+AJeSmDCfxdzB2LCk9CHptKo23qSQWaKSbvNJxItzJrjHBlgQtJiFkbCMaU1VdpVe3q++2EsGIHTflV+b5froyPYEO1m0VbdSngPLX+1yJ18nOVpXKuv0oqYw7Q2WI6aOom+vNvIISTicaXHC/++s4TBro9945dS6opgWxRbgSYGpexQcfvVJ/z4SIl0c4quqeOvV7XWNGugt1Z4g8kqPo7TUblnfxMEfLCbjzifuH8TTxda5251WKJrr9FC7Cu6UetQJY1aYpPM8fHXNbAkNTC7kT/FgSvHIsxxZ9vs+g/VKakmagOBbEVOKQPY8YYmGqod7PyTVlrZgFDYZLPsOBNXGklL93+c5aa8gLUdW598G/MwOmVp8Y1xyvgeRY6ObFzRCcyshj8wTZIqQKbL000wLwVEcW1lLJT6Jpo/Lwi0eOava+RDVSpetfjkVW+ckOI4/u6ifXzo7QJT2qDoy48V32bDaDjeYBr3hbBjxBWXAL9LWRFBJaiLl7LNPmB4e1VdB4of/NLWsWXYY/xf2ScpjmUkXztUJnYbeGeyEGyvI8lA9+DmOINE7KGQMCoxRxn4oehWGruaYYJ/mBmCnkzQght/DsuG/yyogvRfjg6oOOvZG1AA0Q38Ga+/m5/kfmlNkPd8PrlIBcN8xouiZ9tSqOPnTYMxYCFkoqgT1ySjo/fmCSy4I+1Th0rYSEtFg78mQcjY47Fdho417aXQSYlYcHW2hncomXFP7jUw7W5qGgN2puvXZ8jkI2FbUg7joQU4aaNB6OorJ1nSmBg4ew58IFzfQmFwsf7VTkzBqfLtIwtXRSG8xVnqTjG0Q18Viyr5mQnBIq4KXMPYeu2Te4zLIs9yJzxG9HI4gPwk7hjl3ykFl68UJ3rkWIcYJGA+oNRyjf4r0wuO6aIxefGqXjK1PHRBBctFKKyqeFkpTAxFVljVxp2ldlg74JzP0l8J2O4qERvHb n3+u+F+p fmZqTJEY1qeGj/tKuZdpKm8ebS21VPF5DcDikBSjVyhP7+M947KTv9kEsSUiSRBkBjbr3p9cvSXs8rMKDCSRqhOdHXGTXhU8U1AMZHLQ5VsVgglX2cICyO0DjCfs888soJ9S1Xlbi1V2ROTwZzzWGOrDvUm+L7RujBijdfYieYiMJJrGP9g2/svHtMgJQf42+SoBezAVqRxfnOT7ZnafZzKUBozi7gZLAtbOpfJVZGCPTDiWXpqfjwFtKrvPGUwvFK6y0GfR7TfBs4RctFrBbcaBe4R4BI+9JJ4GBoj1jrEhxCYn3YWRLZsGcFantZdfTius12l4vZo1HoXHV3JLUq79Llrj3AGl7od3oA8oECTZ12Tc= 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
Eliminate Dying Memory Cgroup
|
expand
|
diff --git a/fs/buffer.c b/fs/buffer.c index c7abb4a029dc..d8dca9bf5e38 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -914,8 +914,7 @@ struct buffer_head *folio_alloc_buffers(struct folio *folio, unsigned long size, long offset; struct mem_cgroup *memcg, *old_memcg; - /* The folio lock pins the memcg */ - memcg = folio_memcg(folio); + memcg = get_mem_cgroup_from_folio(folio); old_memcg = set_active_memcg(memcg); head = NULL; @@ -936,6 +935,7 @@ struct buffer_head *folio_alloc_buffers(struct folio *folio, unsigned long size, } out: set_active_memcg(old_memcg); + mem_cgroup_put(memcg); return head; /* * In case anything failed, we just free everything we got.
In the near future, a folio will no longer pin its corresponding memory cgroup. To ensure safety, it will only be appropriate to hold the rcu read lock or acquire a reference to the memory cgroup returned by folio_memcg(), thereby preventing it from being released. In the current patch, the function get_mem_cgroup_from_folio() is employed to safeguard against the release of the memory cgroup. This serves as a preparatory measure for the reparenting of the LRU pages. Signed-off-by: Muchun Song <songmuchun@bytedance.com> --- fs/buffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)