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 E73D7C282DE for ; Thu, 13 Mar 2025 16:01:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7EBF9280004; Thu, 13 Mar 2025 12:01:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 79987280002; Thu, 13 Mar 2025 12:01:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 66194280004; Thu, 13 Mar 2025 12:01:21 -0400 (EDT) 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 49BA9280002 for ; Thu, 13 Mar 2025 12:01:21 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 776A51A0239 for ; Thu, 13 Mar 2025 16:01:21 +0000 (UTC) X-FDA: 83216992362.28.72F05AD Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by imf02.hostedemail.com (Postfix) with ESMTP id 2933A80040 for ; Thu, 13 Mar 2025 16:01:17 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=C8S5iILx; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.177 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741881678; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=chJvS528sGwtAl4LFFkHyeC0rlxMrUMrpxaXbZnlm5g=; b=nrfaIBGAYOyiM2QmX3ZfcD4CMdArh6ukTsqkOzJU+GiheoD2DI3Y6IyJZgvb8xr6YzR6ab fw0Cks5GJf5TxC1B2Io/2zTsCXcNKwYPhoyn5GvvtQdyvQ6CC7lZXdRM6h8RzIjwmLXaNj MFWsZAxUJ0lYhuYQxIVyAneW3uL1l6Q= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=C8S5iILx; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.177 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741881678; a=rsa-sha256; cv=none; b=PCef+IxD+7QBLIdLeZlkzu4zgj08hj9RAvTTkrUZAlspmO/lGvTrcnr3+yhp4jalqi7Eo5 x9K9AAoG84hAFrlMCckc+ghhDFui9cBPpo+nS+OQ7dizV0zOzEoTPlAYwhJ1FCRa2iepaq 5On0d8TH7bPOpVtfxf57r9+CdOiKAso= Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7c54c52d8easo244518085a.0 for ; Thu, 13 Mar 2025 09:01:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1741881676; x=1742486476; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=chJvS528sGwtAl4LFFkHyeC0rlxMrUMrpxaXbZnlm5g=; b=C8S5iILxWcC1rG++wMr9eXwU1knc8WGBcTFfw9B4JgA4k9V8rlErE46d0DIJG+zpCp 8hzW7gG4RGDIaniqWtW5DIcW6h83q7/Z2/SfpDDCfdchT9kC91zmoPyrCSJfPE6Gfq2l Eu3k/GIGykN/WvGnNkcyJiZqgscQ9MCRwOznlJF6IcZVwhhG3fLIeHVreZ9/isHwYTQ5 ig653t1dpjBybq4bjJlrQUwwCjqnjcG6cFsuO37n7b0sRLkYeQRd8lebZlhO86f509BY dJu6CH82+ZASZzGmUidsa0wo3EnxnorwgcAwARWovnAt1VqwEntBvtg6B8QtdZynVDES RdgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741881676; x=1742486476; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=chJvS528sGwtAl4LFFkHyeC0rlxMrUMrpxaXbZnlm5g=; b=m2wgkeC1V2oVjL7+t29TdD9s+mMsZCyGy5sJb7w0wDAtNkHiJeubYiuKARdQfwXfVs mIrTYV4zWqLikjFucXdUB3X7qetPYYbr+aFjTsSH8jbqRyaqj4dR6PNPTBDznvYjzPUM Lnu0G3Zlrhro9WrmiECrGGiZnUH+P5y52kxpLyMnAV0aD/E9LXMRCUMfxG460UdllXz/ v5QkKpj0LPUOvOhHq2uIbnrnbqBJ4Ah/Xe6sde34+8UKRNYmdQyx9dy1IsJHn1kaJR1q ZLvwRLJuBe4Lefy0oPuiKYuW9K9u8L9D5ctRN/mCIfZoHEMyU7x1sepOHomrqHLZN0/h jJLw== X-Gm-Message-State: AOJu0YxGcPyQS4RvXmXNGmeeIXcLTuQs1AcumUqvZPhO4KdB95BeNH1k 7sGfUXiLIZiJl1GNQcUZzJypSiUJdRQC5e8WLBBM7lRjtneQ9OWkglSKZOU0FNI= X-Gm-Gg: ASbGncse7TE5gRrX++TFcH3NhyvlEdKRQlBQSV7C9qc+8s9yIgJCyRbRsY6IEAzRlUr UCl3Hmv931wa7nBYO09gIgEk3OldYffo1iig8OmJMWGiLgUrH55Ph4tNZIaexZomE5q9pG++Sx4 lPNcBbXMgDTRKiGYtpwKhQ/0UUVZoCAos2Kjh6fYt0yopyPWhXfXybq5SFLtkrNsjsqjMgwO4qu aI3UsEi1xg/G07VRa/FVfQllEzmSd5z7sAPzr7425YJ9bB4SBCbxucertO5x9evPRsS73mgQ32N BJIsLSeQ7IOALTaDjJOyPgnk3oRuDRIBOPLJSw/tA2J+Fn88i63pSQ== X-Google-Smtp-Source: AGHT+IGjlxnGoTWubbEiClY4au4Up/pD5V58tHhWfs0P4qvXo0D/ENk5qxE73AvDPANW8KZIR4DhVg== X-Received: by 2002:a05:620a:4009:b0:7c5:580e:4a2e with SMTP id af79cd13be357-7c5737f5265mr450780785a.22.1741881676147; Thu, 13 Mar 2025 09:01:16 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7c573d8abf7sm112750385a.98.2025.03.13.09.01.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Mar 2025 09:01:15 -0700 (PDT) Date: Thu, 13 Mar 2025 12:01:14 -0400 From: Johannes Weiner To: "Matthew Wilcox (Oracle)" Cc: linux-mm@kvack.org, Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Zi Yan , David Hildenbrand Subject: Re: [PATCH 3/5] mm: Remove references to folio in split_page_memcg() Message-ID: <20250313160114.GD1252169@cmpxchg.org> References: <20250313145856.4118428-1-willy@infradead.org> <20250313145856.4118428-4-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250313145856.4118428-4-willy@infradead.org> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2933A80040 X-Stat-Signature: 9d36b7nespjbsagnc8yssdua6issd49y X-HE-Tag: 1741881677-177852 X-HE-Meta: U2FsdGVkX19lwMNgXWXMECXrPaOucTaE2qeQrkbVCPp63tRTo4PPba0LMdLo7KUt5knkl7UUe9VlEBhO4k9aifRjCI/eb9KeX3N3dtoIZSJUM5O+t7NZvsFMSNtX7YHNeXpvR+jsR+S3SAZp3sQs4Uuy60pxZ1xwc1pIIld82IE74r+Asr6rTUIcQSlrv+YhdUlzzU1HC9RGUlqYKn/r+mm+cCICIFdek2XgtwS2PVlHBDfzMrrmRcLpLZEXU6vENgY2sfKPZEXbLyyE62uzXq1D3N/v5bkhwB5MYKB79LsvjAWFXLyoM8tFC040IJjvj9QKpbow8GP8WIQ/pLZEPDwK9Le2x27RA33tYCAcY/2Kev2tRYTgsva+aRn0EWk68jFEeXtV0ThlhtgU0PX77FgUo4r2oc712fn/7H/UU/2T68s9jRFuQrQvCkw9YzE97miUMSzRE0IMuVrDhBJn1k4TlC140+S8O3QBVkbId9Aoih1nJ0VJwLi5RWj6tMFzzEFk2RhTjYlpCa6MZP4goklym9A6TcWViU33tpxwi8MG35Yitk2OuoOClHqOxYSiq6QHFvlKKtMozaKEafjTtHGd+Ba7MR3Dqdqv12Oxx21sS4Vgh5lvqtQ6aAvUrPg0ckVUHkqj2iHlIJCgal6oYQmOehoLojLkxZN+sDtoMWdDUAc+Naf+5Z7oe6INJPDzfykhEBcf4ujrCs1h8X95dg+M6rZCV4LWurtYYxghKm+qHTviT3r5wAU1QIzIYwBngIUV6W/4kumpVVLOnV8ZgMbhdOvuhnNG2TtlzxEKsgCfpz0OmG0oAmeaaUPt4O1ZI+0weHQtfcWXKahF1LZcwhT2EPRm4NRxEfAQNHYBkKeyPxTTJc8VKo27YgcIhqzdsaYnocUeHiekKhqrF8btkQj/I1tKqg7j2x0VSea7DArJlgri8pbVza4X8i+krMfqHjeXGXQoSdIOI/DxplG rBSFz+LR 4gzT9B0GB07QiGn1YvXp8PbKocpJhArVSRMVhBneF/ZLNFnNXiFkMHwLvKGGU3A0fFCqdrxmPjiZF6hGm2acu92TKt8enPGe4DLN2OMYsMqyfboTLuxz7Q1XfaBqYMsj/amfXnTDwrTazZ9ECeKLTyZVzORgzqZdSCJ/znBg3YRSHSAR70vNzNkJgkJvC4TGdYRUqIjz6+jxQHyCb2zvtHZNtQeA+RcFlof6Fq4vj/F6B6ZzgNpQoUHYSoWw9hdc8qEl13d72ce/OUzYohHaRqudU7ZfEAk7dq3i7qBADJcu92lHA9TEQcW3SxDBoWmG5lkMIghTZsfTlcR+KT+lUAUc16iALvZKwbfHYEDSfrFLo1XcZMnRBrLjpG1P6R8Ea1BiR2rb0PSNIILX6jRtuLLMikW0ufXE2Dgz88mqAo3AcURHz0hWwMhJQ7omCKNKg26leyaZUYxvAdkQ/pSR/4vPEoYrorXLhNaF2f1OYC2DgX6BUAdgHz5XuXKRRfCAyCk+R6FM/25e6t1L9qddSfm9Ydw== 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: On Thu, Mar 13, 2025 at 02:58:52PM +0000, Matthew Wilcox (Oracle) wrote: > @@ -2697,6 +2697,23 @@ static int obj_cgroup_charge_pages(struct obj_cgroup *objcg, gfp_t gfp, > return ret; > } > > +static struct obj_cgroup *page_objcg(const struct page *first) "first" is odd for that function. "page"? > @@ -3091,16 +3107,16 @@ void __memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab, > */ > void split_page_memcg(struct page *first, unsigned order) > { > - struct folio *folio = page_folio(first); > + struct obj_cgroup *objcg = page_objcg(first); > unsigned int i, nr = 1 << order; > > - if (mem_cgroup_disabled() || !folio_memcg_charged(folio)) > + if (!objcg) > return; mem_cgroup_disabled() is a jump label, so a bit cheaper than the branch. Can you keep that and do page_objcg() after it? > for (i = 1; i < nr; i++) > - folio_page(folio, i)->memcg_data = folio->memcg_data; > + page_set_objcg(&first[i], objcg); > > - obj_cgroup_get_many(__folio_objcg(folio), nr - 1); > + obj_cgroup_get_many(objcg, nr - 1); > } This is much nicer indeed. Thanks for doing this. With the above nits considered, Acked-by: Johannes Weiner