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 77E29C282DE for ; Thu, 13 Mar 2025 16:15:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A8EE280005; Thu, 13 Mar 2025 12:15:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3571F280002; Thu, 13 Mar 2025 12:15:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24694280005; Thu, 13 Mar 2025 12:15:46 -0400 (EDT) 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 0CA75280002 for ; Thu, 13 Mar 2025 12:15:46 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 0DBBF12026B for ; Thu, 13 Mar 2025 16:15:45 +0000 (UTC) X-FDA: 83217028692.03.5BEE0E9 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id 48DFB100008 for ; Thu, 13 Mar 2025 16:15:40 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ZdZqlPLq; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741882541; 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=VQy//yP0FsDkHRQpfu4QaGkctfWwILsceVKXBOTt/GA=; b=iqrvh1raje5ycf4ITBfBUBWbypgAPVKhH4K9QIiJCSsa/+1W5GgtKVodSsLLzpHaXL9n9i b5QNC+TMg6rgmKLjJtuTqG8jY86cPNw8WghbWBMsUaYFMj/hPb3D/3XK1KHo2+n4S4llQR KAQTfaIp7ZRFNyAZGWiJZtu5sxJB99c= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ZdZqlPLq; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741882541; a=rsa-sha256; cv=none; b=vQz9NnB8zCVAeiA5eLgeOqYeuR+E5KentO5UXseI4EdUyXPoK2PGxtZMM1G2ka5V349Q6k mKZFi5FPALb+qH08jEmv9W/zO3wvgs0c/4HdkU1rYXRnhbHB70pNdCa5G8q4CkoocAKKhH sM1++Qn9BzfvrTOthGYY1y5dpamTu+M= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=VQy//yP0FsDkHRQpfu4QaGkctfWwILsceVKXBOTt/GA=; b=ZdZqlPLq19Bta+8SIhTY9J/qWt aHACmfARfbDMeZ7IHZeU4ms9XZn3dNmG/bJX/Stj5ObYdrADzIFkioRkDm3ag2U6X0XO8Oh8NOBOc kSwi95akH3Vspc16daQ29d9RbInrxkLF1qnZF+FKYx7TnXAAYAy+ZVj2e74GYtD7Tyg2vWuzFggoo MxPGUqtK2TxDIo1d+bbitnTNtqfdzuObr/fPS/2+fghEVUeyRniaDrUxrUmuEAJKiCByW/C0qGg+u w21YWjvlgKeAxFd6IH4CJM1dMvpqvEBG520HYSW9ilxpP0LFFGWS7Cp0bBjR7UA6FTWvZoQ3Le9cY Stpi5htw==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tslDe-00000000GVB-3C2W; Thu, 13 Mar 2025 16:15:38 +0000 Date: Thu, 13 Mar 2025 16:15:38 +0000 From: Matthew Wilcox To: Johannes Weiner Cc: linux-mm@kvack.org, Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Zi Yan , David Hildenbrand Subject: Re: [PATCH 4/5] mm: Simplify folio_memcg_charged() Message-ID: References: <20250313145856.4118428-1-willy@infradead.org> <20250313145856.4118428-5-willy@infradead.org> <20250313160348.GE1252169@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250313160348.GE1252169@cmpxchg.org> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 48DFB100008 X-Stat-Signature: gefn3j8cf8q9ygnejnkgkoigann4rzq8 X-HE-Tag: 1741882540-664828 X-HE-Meta: U2FsdGVkX19aUdGAZHyEB4CL9cWjBs2fIGXMVRUMPqSw63rBc47hdKve7GEpQyLW2M2aUPmY5jDpGDEPFJjhTgfImY2KMe/wH9ql2O3mhVNJY2tjZWzXyIC2DgGDbvQEXor8jpSuoCIGllvUEOCg41YRi8ieaM3lRu04UfLnc6p4SjqHvYfBTC88IJ9Xt4PZYp9RLT4p55ElY+LKJE8aPsCS6n+/V5dClOhV94S0xS2jNDpTt9GBTqXJ94mKd9CpFP8qAADBgQVB3GvQHYMwykE9NgtcGQsQTtWCAG1VF0RsHiHYKbBPYvV9zx0ZCFy8qtA8rGHWJyDEnWQJ/XISBCJbVQOawI6lJClNf//VhuroysQOMV6Di7ct8bLlZ5xqhbChbKXpI4WA/iYl/9FOeaNR/iR9AB/nDgQehK/OuiFxOdE/Lq889p8jLh+NWqDBIpzhfyqzoS3erHQvdlSt9VvnD5U0fORVffVXeudDLbTQFZbjFieps+le5IwQzfC8/KKw7UCnyjl4sLImiTbk0IXYo7kFA420Xm3LSSUPVJYnTyXFzcQRhl9nmYgC1it0Jm8TIPVf7bv368eBJ2T5f0yfHteQWnYhp59vOVPyYu70Mp3EbGMSqtYHS179WMh9Ckl2OaPw7gjlzHfSFt5kgMnwRhwb7gTgivLtqQnBkyPbEB7e16Sc02SrXDrrBZynJCkaCitIRzqIiI/FibygI4lH+tgodZCC1uXEZZPugNf5XOI38vWpn1cCP2KzBQqZo0jVRruGw05+9Y4+WshT01mylc7IHrZ/YkerhYb0Sohdp38zhNkxf+x+gU9bepHx1jyGazmPNiviEZY+Ul/tO7srs5JuLT6WxWStSAGng7MbI9zrkoZCdMuZVQQL7Sn5H1Lw3dHzw6BJjVQaZeA4mMHIzhnd8uYbs8JLvlcxgUntLAth1ROcBk1gXwJm1bUXuVGTJayFnkWMUazxVbn sQligqow N/KT/cDXXb1A8HACN3YBkvTnprHTkTbl38/j9TXNloP9NjuENEUqdwUgXe3MBMl/OddtVo/g/eo774eq2XtpJ+xGrYErQ4QTNCBJnBY6+Vj7Dqn3Vz+10qVk0yFlqtVaDa6kcQci6xmPd0yoKyDaXLjXHeavU0GvyGhEM/C24P7b+NjitqQk69Ig4EEUQc+dIwk1FfDa7GRiTyO3+sI9Ju5Dy5hvnVL3T4xaF2TyyiDCTlEztpBU5FpseuFluaNsonHwVD2wrX57dCHkzHrBrmrpAqg== 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 12:03:48PM -0400, Johannes Weiner wrote: > > static inline bool folio_memcg_charged(struct folio *folio) > > { > > - if (folio_memcg_kmem(folio)) > > - return __folio_objcg(folio) != NULL; > > - return __folio_memcg(folio) != NULL; > > + return folio->memcg_data != 0; > > I suppose we lose a few DEBUG_VM asserts, but no doubt this function > is unnecessarily complicated. I think we lose two -- folio_test_slab() and memcg_data & MEMCG_DATA_OBJEXTS, both of which seem pretty low value. Also, one could argue that asking "is this memory charged" should return true if we ask it about a slab. So yeah, I didn't think they were worth preserving.