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 C4E10C4332F for ; Wed, 13 Dec 2023 20:23:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 48C806B0266; Wed, 13 Dec 2023 15:23:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 415336B0269; Wed, 13 Dec 2023 15:23:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DCA66B026B; Wed, 13 Dec 2023 15:23:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1AC4C6B0266 for ; Wed, 13 Dec 2023 15:23:30 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E5480A2120 for ; Wed, 13 Dec 2023 20:23:29 +0000 (UTC) X-FDA: 81562920138.16.B89E180 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf23.hostedemail.com (Postfix) with ESMTP id 0FB7F140006 for ; Wed, 13 Dec 2023 20:23:27 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XISy4OPT; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of 3vxJ6ZQgKCP4yngqkkrhmuumrk.iusrot03-ssq1giq.uxm@flex--shakeelb.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3vxJ6ZQgKCP4yngqkkrhmuumrk.iusrot03-ssq1giq.uxm@flex--shakeelb.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702499008; a=rsa-sha256; cv=none; b=2SIhtWIT1/GFA1vaxusxtYlmKci9XsptkGLOApdnf9UA1/QNZTitChmlTf1jE7uSsJ2I5g 46CyR9Z+zed30kgQOk0rxPpq7yHD4FVev8OQ1mHXXftlclj+GRl9iEM0m5wuCHz8DUmGn8 y9P2MHRp8Rt1GWKlxbPCFVWJ82DcwjU= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XISy4OPT; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of 3vxJ6ZQgKCP4yngqkkrhmuumrk.iusrot03-ssq1giq.uxm@flex--shakeelb.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3vxJ6ZQgKCP4yngqkkrhmuumrk.iusrot03-ssq1giq.uxm@flex--shakeelb.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702499008; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yCsGgZ1cCSSEwPDaPjL1FRAH1M+CTFrDqXrFCAjHeZg=; b=RBOghZ9pi34D0aysl0W7O2NKMMVxtiCgiaDlYKEj1mRlRyOcuZxtMTEmuW0rTs7R8PKMuf /rCQC7jq3CU3VyHhqo619fShoJDeH/YW/WFN5+g0FxZUMK0FNXQ7QtpvHpwlI34iNIBGm8 DlSh+wzOXDikNu7NT56u5WrBpPKdfKs= Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-dbcca4c56b9so1778766276.3 for ; Wed, 13 Dec 2023 12:23:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1702499007; x=1703103807; darn=kvack.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=yCsGgZ1cCSSEwPDaPjL1FRAH1M+CTFrDqXrFCAjHeZg=; b=XISy4OPTRdYNMgSRd9+6Ds7urg5nM5w+BYB+3iw7mjbz/iSBx34V4iQzMb37XDHsBP LTfB+a2gTkQuIYZ43UkShuX+ttSzRIBYFfQOBGA/xGEvPUCVLpjdz0fn5PG8Ew0zXZWY k0w6loZvJAWo7F0ClZTta9aaMJRBfIWHVNxVWWnIU4nqYx7Xwfv6n2yRcu3OQrZh087s mP0TIB+yP3e7id1XBImd7yKcOSlthRZv+v/LY2+zIJ0TiulqaCme+1aFA3Ijx9cgbbwY OEVTtlDYvgJ9IaA703Rczrn4H9ybrNtSMmsKAq7OUr++whErh8RLAozlQWYbv8Y2ghVW exug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702499007; x=1703103807; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=yCsGgZ1cCSSEwPDaPjL1FRAH1M+CTFrDqXrFCAjHeZg=; b=uEybdRFIj/V0YTxqCC/Cm69M/Azw9GhLyue11lA0W0GahJfGCksTO1GgZDtdcp7j+l NvM+mDIxmEwsuZxtSvvU9JPcW+ntoZ50yN8NG5wAN7SruodSNndVOh62HUhEL4X6eNoC 04o513WymZpOUsF0qh8AMozge6H8TiLB/oftnel/IqRxkYEcKsuxkdDK6Bk/CdW2MguN Ws1dVRy/jYYYuOuNii2/Bd9s4W53esAwDnFgV6xJ9jDoyiiQsy4HyZjZ9/7+djPklQKY SflyQgq8AOg3f2FmfphLXxG/Knwv4ejkpUzUE4308g4Nwo5nOqoz8pqgMC/Z/qev4JAM +Iig== X-Gm-Message-State: AOJu0YyroCKrxIr6tMcIQQ+TxChqeTF6W9y6jX0vDctQ/80RCAqOn8xq 6Evs9HUw3hPeiP3dN32z+b7LjP19vxBMBQ== X-Google-Smtp-Source: AGHT+IEsuT+mndDIu/hnS+8BjBfrI28PLp84NhOBaSahuFiq39O67QKKoF3EcWARg74Sfpb5t/M0wANZ9JO3fw== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a25:ca92:0:b0:dbc:cb73:15c8 with SMTP id a140-20020a25ca92000000b00dbccb7315c8mr27743ybg.5.1702499007165; Wed, 13 Dec 2023 12:23:27 -0800 (PST) Date: Wed, 13 Dec 2023 20:23:25 +0000 In-Reply-To: Mime-Version: 1.0 References: <20231213130414.353244-1-yosryahmed@google.com> Message-ID: <20231213202325.2cq3hwpycsvxcote@google.com> Subject: Re: [PATCH] mm: memcg: remove direct use of __memcg_kmem_uncharge_page From: Shakeel Butt To: Yosry Ahmed Cc: Matthew Wilcox , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , cgroups@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 0FB7F140006 X-Stat-Signature: 7bgr3ao9pjtubqp4kundmdogysz9374t X-HE-Tag: 1702499007-33089 X-HE-Meta: U2FsdGVkX18V0ypIhwqt7ao0wJMtNuAzetZSaKVysM52bpWUVfoIwkvh/78Ln3CMypHu/bUrvMeGSpihkOcuaE15fwZERajdgzQHBQIi0l78Ow00HPxLd2AmYwLllXR2azCUqXmTwd0W82Rg27BVmxYY6kv/85utsz/iSIO5Pq8ykbDLyTOtOTFMVTyNG0uwFf/QbqiKkOkqkK1XmeO2b2pYZQtyXDfTESd7uQ3ydpRuYV0ZzyhODsOSsyOQvUMnZWNJCeEAh7GeBdR0X4SFcnhsRLvCExEUTm1zcE8+BEZj5Dbx9vtTHhGPD2GjmEiF4xQ6FFnqJh8ajvjPM9+LY66gUhNSroXpCK2jau4H36YEBphGldfUGEPuoEAV3a7iuUBWbKdUOFSb8Dlbt0XHNqGhz1YLHvWYGAJ0cSfcpbQDM1B4TOOM7Woht4aTTU3pag3NiQg/DzmoUDJOHWmw2prkRFwH1Eu5RmpQyR1K63/ckllgYaR6GlBerb5DUhHbowXz5SLIXYvQImvDQuU/wKY52HS0FlBuKEv959NeUrMBdbEc0itnkI5TOzo5zc4rAjv4lUKbEvOwO63smuOijzRth1dghfmxeX8VmmmR7TEIe+IOhJaqOh4dIvlp0+Xz7SG8q89nIDclQGlcpAQW2QXxJ4YfrynskKWXP/FpbGwc4pzQ0XCBCX9l8re8lRCsRejScVjsqM1MTI78D4yPGib7tjWARt5TkGXkSfA9SqAius7HsnFeQH1De1Wvy+d4lixHr87zX6VdbfO2NB1aPRr61goMGKW3WJv/z1zbEE4Jd72wrxmwjebX/kMmXPSvXQBsaActY0INNyT4q18+PSHHXwr1SnRT2IHy09wxkyeaZL/ObCnk6td9BsKxDyXP1LHcRRFDlAN/NTjUTGPunwQNbsT+sZuTcn6YvZ9WUq7i7PRyLpw16d8m0QydQfWLRYVNsMMdfqEU5LJInCH y8FkLs2A oxzODAsruZ+F2f7YJEhJcbiO6nh8v+Wmh1dyI2O53XM2+b3s+DagoD9e8KJ6BIJtlxhWh89KL3MyBNj33tJ5G7ZwU6kQ38sSGNhPqFVez25En3lXNAf4Wrtq75d3QvEPeSySf+YF53f0bbTI6HQgH54IUokSD7BR/Q0Uil2JD6IeE4Qoo4oor5l60naF1LKbTe6rsTx+Ll3X1J30pO5jW6xTF5xza6pXBJG3NpGBa/k/fJMFpsWQ5Clv8NYy3GLuIspMpHXTUGxfikBtdIYnvFzeVspzx7RIpcJ4SDLCBQFgjT5Hw1CUAX+edsuQbNduKW8ufl49gQjrGMkDnNxfL9vanubWFsgXAjdgQ0uwrzQx70coh9j88ReVmFV1O4Y/gH0PT4qCv0Qx9SJp9vfPmAsWtkcvcmaBUubkWNFwEro+Ac1D8dYWuzMzBZ98aA7FaxLQyBRD67FD0p11AqilCC1M7K/26RxthzDMyIiwGjLIlghrNS50JPG+8d9awkkEX9wMpOlYe01vhN8nxCsYSfYhHPQymZWhcmw9eb9JvkEsZTSTJqzHF0P35RU5QptkIromMnzz8D3vuJSmX/XvmAvGbSUs8VwoWg4gJkTVd/Lnb+7zu7jS075An/ggszA9WM6ZdofW3MhQC2G97um5V8Bny+lv0myQ2v3qNEUa/SRZb/rKaQiFW6ZjmqCB0z0wjbKZZZ7etltYtJpg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000084, 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 Wed, Dec 13, 2023 at 08:31:00AM -0800, Yosry Ahmed wrote: > On Wed, Dec 13, 2023 at 8:27=E2=80=AFAM Matthew Wilcox wrote: > > > > On Wed, Dec 13, 2023 at 08:24:04AM -0800, Yosry Ahmed wrote: > > > I doubt an extra compound_head() will matter in that path, but if you > > > feel strongly about it that's okay. It's a nice cleanup that's all. > > > > i don't even understand why you think it's a nice cleanup. >=20 > free_pages_prepare() is directly calling __memcg_kmem_uncharge_page() > instead of memcg_kmem_uncharge_page(), and open-coding checks that > already exist in both of them to avoid the unnecessary function call > if possible. I think this should be the job of > memcg_kmem_uncharge_page(), but it's currently missing the > PageMemcgKmem() check (which is in __memcg_kmem_uncharge_page()). >=20 > So I think moving that check to the wrapper allows > free_pages_prepare() to call memcg_kmem_uncharge_page() and without > worrying about those memcg-specific checks. There is a (performance) reason these open coded check are present in page_alloc.c and that is very clear for __memcg_kmem_charge_page() but not so much for __memcg_kmem_uncharge_page(). So, for uncharge path, this seems ok. Now to resolve Willy's concern for the fork() path, I think we can open code the checks there. Willy, any concern with that approach?