From mboxrd@z Thu Jan 1 00:00:00 1970 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 E17D2C677F1 for ; Mon, 16 Jan 2023 19:25:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7CB516B0072; Mon, 16 Jan 2023 14:25:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 77B1C6B0073; Mon, 16 Jan 2023 14:25:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 644B36B0074; Mon, 16 Jan 2023 14:25:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 553DF6B0072 for ; Mon, 16 Jan 2023 14:25:03 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E37E7C0545 for ; Mon, 16 Jan 2023 19:25:02 +0000 (UTC) X-FDA: 80361640044.13.D9648D7 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 79447C000F for ; Mon, 16 Jan 2023 19:25:01 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=r05nho7j; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673897101; 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=SLizqyzTfbBw4JOw1VZkVVaPB/jQqUXSVq3/IHI92Z0=; b=AF6x2zm8dHL6IlRepTYM5B/5McEk9cHi/RwKaifpFutf/9m+fXd04MGWGyTho0H+PkUTuK u9NDNPyFQpSDYtIJm1oG9zQj6dzSrIEWUm/ngwiFu6DK0Q/IxpyXfw5I5ybSRLbLwHxLvY lHXGu2DhruPOe19Rn4dKvHKktibiqK8= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=r05nho7j; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673897101; a=rsa-sha256; cv=none; b=DGmBngzBTW1/n+huVx+a9hSmBJ+R6PdYfBCiq9NugB/f9t/Gm6x3CqSG5BL0nb6FxTRrAI 4yxSA5KPPIv41aGyeCjvFRS31eETYVev1ux52HQRy5kWwQVv4t9uMrM75Hdnn1llG/BOwV mv1Yobb0ckHBYQdmEW057JKeNx5tXgU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=SLizqyzTfbBw4JOw1VZkVVaPB/jQqUXSVq3/IHI92Z0=; b=r05nho7j2UxuJkRgWI0qnNL6xN UJ3sJTWSlLVLHkPiZi3CyDwS5LcO8qV4Q/d2hOsWDtb5jPyKq+lvHouyrDXdsPTtbqL5Z8Y4Q78Ni W//Sga9xnvW2tBUfntrJ6R62GqOJ3dznSRSkXLLCAZuioEHXVRQzBBVxX50xDl8ZniAGguuScKi2H DlSjou3e9FTJojMT7G5ybTkCP0rNO2vqgsd70mMULYOYE+aJ1n1BfnvWvk0yNqiY452VCMVcUVJlP AmEjWAsTIknR/cvWLDC6dBgftuG4MGvp6DoG6A+azp0IvjJrkBkiTKCRw8ZIv0AwV+YlA2aSwF75M vZtWtjLg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHV6T-0090KO-Da; Mon, 16 Jan 2023 19:25:09 +0000 From: "Matthew Wilcox (Oracle)" To: linux-mm@kvack.org, Andrew Morton Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 2/2] mm: Convert mem_cgroup_css_from_page() to mem_cgroup_css_from_folio() Date: Mon, 16 Jan 2023 19:25:07 +0000 Message-Id: <20230116192507.2146150-3-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230116192507.2146150-1-willy@infradead.org> References: <20230116192507.2146150-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 79447C000F X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: ifnx3ad576aoufcfndxi5wgq4wuu4azy X-HE-Tag: 1673897101-393309 X-HE-Meta: U2FsdGVkX19oQnTAHB2i99ojY60+zVmNqXAKZeKJ4U5jwU0Ufoe1vsmYfoZuiEUPdif4GUOYQ2s8How1TuKcXK3z4v74zr646MrWY8V6+zmVKwf6Cn4iT/dpYsUrzpWWZEU3CgKzSExXfd/+IiV4bathVhDeclWkBZNxNsELlxIAlQdTfutnaIs4XjjrEGJHLQ3/ABz2JnmtFGSK7CDPTYvV0xA9Vh9gJnEZw0EcKoqhq1Quy5kf/p8vk9MxsxygQtGxqhUb9A8g36rH3YQJe/tApbqk0MKwEPacqOtWoe1vWjN/bGpIGMxaeN/QiMR4NkGDcqBPw/l72T5wqgavArQez5n0O578N4lq82b6gMOn6TrgbB0ptFScmR11TtVQkDSnfDRcWMB+X3YnrJqcrFxqx2sl/Gs8FlqdyRVFB2kmpZkSvSx6Nq8x3hxrk5H6uoh3kRCHrZWFFVD6P8ajnmLCGuNbAbjMmNtQI9eetPSqjnlRc/loHeha3eT2JPc6PuMfuS8lok+ThrX5t3NJ1VcauVD39hDAQwvutYElQ5Jd90HhfKpLqT++vJDZDy4kWO61Gq6+7K24odaxEhYz0XIayaqO5X1QTqU0P7yG96e+c3URnW6RTsPPjgxurFRrl+CBuf8WkWkKJRcJH9ovdb0FAw9hhQBIJZPfpFkouAWDqw77xDZxQTsa16GuyghnJpQzhPUDziQE+/z9iLu+oB9neecp8ppAuaQvhsmxhJUCl/EQXrmzK+N99aRsINn9xB1awXd5sUbvqKnUzqdBg3wFihjW6MFlgwFfhh+I+XQQwOJ9wcjaVlY/CfKBLxTd98vwpprzrIgCpfCqW2th+UN5Jt7/BTvxVMI0PQJRM/1t7i2Duf+P3Nfp1MARXG76riMV/djMwu63FBIl1Os0EfUHsIFBjKvXaAE98B6jDxwrFaJ7L1gjzw== 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: Only one caller doesn't have a folio, so move the page_folio() call to that one caller from mem_cgroup_css_from_folio(). Signed-off-by: Matthew Wilcox (Oracle) --- fs/fs-writeback.c | 6 ++++-- include/linux/memcontrol.h | 2 +- mm/memcontrol.c | 12 +++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 12f60f1ed2a0..195dc23e0d83 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -246,7 +246,7 @@ void __inode_attach_wb(struct inode *inode, struct folio *folio) struct cgroup_subsys_state *memcg_css; if (folio) { - memcg_css = mem_cgroup_css_from_page(&folio->page); + memcg_css = mem_cgroup_css_from_folio(folio); wb = wb_get_create(bdi, memcg_css, GFP_ATOMIC); } else { /* must pin memcg_css, see wb_get_create() */ @@ -859,6 +859,7 @@ EXPORT_SYMBOL_GPL(wbc_detach_inode); void wbc_account_cgroup_owner(struct writeback_control *wbc, struct page *page, size_t bytes) { + struct folio *folio; struct cgroup_subsys_state *css; int id; @@ -871,7 +872,8 @@ void wbc_account_cgroup_owner(struct writeback_control *wbc, struct page *page, if (!wbc->wb || wbc->no_cgroup_owner) return; - css = mem_cgroup_css_from_page(page); + folio = page_folio(page); + css = mem_cgroup_css_from_folio(folio); /* dead cgroups shouldn't contribute to inode ownership arbitration */ if (!(css->flags & CSS_ONLINE)) return; diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 26667bf16da5..eb6e5b18e1ad 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -890,7 +890,7 @@ static inline bool mm_match_cgroup(struct mm_struct *mm, return match; } -struct cgroup_subsys_state *mem_cgroup_css_from_page(struct page *page); +struct cgroup_subsys_state *mem_cgroup_css_from_folio(struct folio *folio); ino_t page_cgroup_ino(struct page *page); static inline bool mem_cgroup_online(struct mem_cgroup *memcg) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index faeea84964aa..893427aded01 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -350,21 +350,19 @@ EXPORT_SYMBOL(memcg_kmem_enabled_key); #endif /** - * mem_cgroup_css_from_page - css of the memcg associated with a page - * @page: page of interest + * mem_cgroup_css_from_folio - css of the memcg associated with a folio + * @folio: folio of interest * * If memcg is bound to the default hierarchy, css of the memcg associated - * with @page is returned. The returned css remains associated with @page + * with @folio is returned. The returned css remains associated with @folio * until it is released. * * If memcg is bound to a traditional hierarchy, the css of root_mem_cgroup * is returned. */ -struct cgroup_subsys_state *mem_cgroup_css_from_page(struct page *page) +struct cgroup_subsys_state *mem_cgroup_css_from_folio(struct folio *folio) { - struct mem_cgroup *memcg; - - memcg = page_memcg(page); + struct mem_cgroup *memcg = folio_memcg(folio); if (!memcg || !cgroup_subsys_on_dfl(memory_cgrp_subsys)) memcg = root_mem_cgroup; -- 2.35.1