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 AB69DC3ABAC for ; Fri, 2 May 2025 23:03:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AE1E86B0085; Fri, 2 May 2025 19:03:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A89B06B0088; Fri, 2 May 2025 19:03:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 953096B0089; Fri, 2 May 2025 19:03:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 769996B0085 for ; Fri, 2 May 2025 19:03:43 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 3E5041A089A for ; Fri, 2 May 2025 23:03:44 +0000 (UTC) X-FDA: 83399496768.18.9C6B914 Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by imf13.hostedemail.com (Postfix) with ESMTP id 293F820018 for ; Fri, 2 May 2025 23:03:41 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RHlSObkZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of shakeel.butt@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=shakeel.butt@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746227022; a=rsa-sha256; cv=none; b=ZRfid7nEkeBBnVmHwNK+KDokcPQKstB5z8T5OIl9Y2uYKQMkS45yie04SHolLUuGiVvtRy srU6cR5n4vnVVWJkmRz8CVmzq0Se6UIa/prOLOQSt2S4m54J0XrC1Kiea50Pz1jK6PTWIn yLFOt+RcXuDtXcy9DigGldZJNsO60T4= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RHlSObkZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of shakeel.butt@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=shakeel.butt@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746227022; 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=Pn6B3AHvvMcr6eolpyjW+81XwXKNxRn60ZK+73/n3uo=; b=g/v8Om2xuhfUokdneUNqv18IRWZwSNdsjdgkxZcII7NpbEwuTUtg3gmiVncvhoR/oGv0ob f48I+nF0dghjeH6ffGlgN3gnTA9D4qpEYSO/A/nA0XLlvZFFCtDjExwaAeFUj7oHZyWLvU oqUIfV94ikbTAeoSvmpfHK3epW92XsY= Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-523d8c024dfso761823e0c.3 for ; Fri, 02 May 2025 16:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746227021; x=1746831821; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Pn6B3AHvvMcr6eolpyjW+81XwXKNxRn60ZK+73/n3uo=; b=RHlSObkZaCWjOftlaarvw4PpV+nav4oNOBjMtlR3ixgNi6qLI3WCB+cqSlpQo5dQ4u nVf2d0RDw3m+z+0Jm1/D/wHhTRAwCYWoHf+U9gZnR9333XPwTpk3oUoEptNev2kI5NMh ZOtlylVqN1+jXGzGKYvcVbNumsPdyI4XeURAShL84bP0asCUG5WfVaczfoXDNPpjJjyi JZCidG/t14kvlY9sUr2tY8alPJC7lrH9Yk0v6EVXyk8Y2GOgxKhIGyg5K10YTmiDdRif 8g8rs3y+4wudnq9tq2OWNo5YyO/Tx+thAuTNWw1fQ+SsREYUxTk0h+iOk2C0aXkNkAy+ XfeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746227021; x=1746831821; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pn6B3AHvvMcr6eolpyjW+81XwXKNxRn60ZK+73/n3uo=; b=An/jFvaDGLeofwqtWymMKLTulJfP1lE6maHb5Mr7HSXgX2cbFjojdQidOT4an3tktI 3qItT7tNc9ARDYqykWLr4FIlH56duA6NCWO94NZma8+GHNa4r4uAGZXXZ3kEq3Nnao9V kYQ/6vWJ80K1esbqTfomQI+4OEhQEOY2JYJOJvppmFa6gMfuRp+5U8M6iuB3l7tykblB /TvlfzyhvBNt65b7jQ0KCSlSAxQDkWv1NXFdMJ099cLE/2CDoOACLvJgbK6lYamwPzqB AW9qWNQXnpaYBAtQGL3HpaEYKF0qh3RPywusPWuPGsLOLZlo2WgKIgCNaNjGBpXiqy82 PLGA== X-Forwarded-Encrypted: i=1; AJvYcCUBs01Pu3TFplLz9BncDmb2KwuQF3wxhPy3k6vliHwGkKqkDCX+O3nBW+ajVPgFfmfOZbScZWiRFQ==@kvack.org X-Gm-Message-State: AOJu0Yxo7BJzAkLCd/oPSkN7XwFD/rEz1GhORCkLJ0ulLc7Abu3XcV55 W2V2YtTV+SGndW9Nj+E1N6L9M4QJeX+mJ9UxM+0TSm5q4ConRhCROgmp4I5E5lPi/yD+5iiZdnG nzp59gt/iSARKbb7/0/kPk+lNgkU= X-Gm-Gg: ASbGncsYSSslVyGLU6+W4y5xqSSwV652tiA14AJPZZGWIv3V2RcMzSCKRkX4it77VsH qSZIQX8iE8albFE0e2RAFNmtfSqTY9i2K3fEwlNfwkxJdduI8Ql1QkFGcL4Zqd6z/I4Epjfjlug FCWN+AZNTT4HtcXbAjj1vL X-Google-Smtp-Source: AGHT+IH0G2Id9h8FEqIRpgtn2ZoY4qQbTOve2FCfTKv5oCcss4LUJcLa2DiY24B4LnysMDQ6AB3BXkTiLNNCUDvEeIc= X-Received: by 2002:a05:6102:2c02:b0:4c1:8e07:40b8 with SMTP id ada2fe7eead31-4dafb50ae95mr3743942137.6.1746227021087; Fri, 02 May 2025 16:03:41 -0700 (PDT) MIME-Version: 1.0 References: <20250502001742.3087558-1-shakeel.butt@linux.dev> <20250502001742.3087558-4-shakeel.butt@linux.dev> In-Reply-To: From: Shakeel Butt Date: Fri, 2 May 2025 16:03:30 -0700 X-Gm-Features: ATxdqUGOxZaBfVWDvGw-HOQP1Qz6sM7a4hg3SGcagADyQ1g6wE-GXDaWYVMh1tc Message-ID: Subject: Re: [PATCH v2 3/3] memcg: no irq disable for memcg stock lock To: Alexei Starovoitov Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Alexei Starovoitov , linux-mm , "open list:CONTROL GROUP (CGROUP)" , bpf , LKML , Meta kernel team , Vlastimil Babka Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 293F820018 X-Stat-Signature: 46ryk6bpnigs3humaeghgwyd3ecydyqh X-Rspam-User: X-HE-Tag: 1746227021-545832 X-HE-Meta: U2FsdGVkX1+FO7Z8Vj7pJXUjt1SQojXH9KJYXjwboC7XzmhXL9S1NH0QHyiI+bVbH7E2CcJBPZsggSD8FzI7dU0KG2F4lYHX8M5bZqtN30N+Cb+Si044p/70Bn3rnoqAykWpEammXdOHXIV/kQiRxqXsXfKWpa+ZU870Ak6jWrMw7ICcWLkF9pqAdinYiJvAzJ0HDx31DPYoTvdy53TncYyAS/kObeqfunoukMwuWBgWkk3E2a2W2SdfLt1ehSLrWnlLZ8wZr9l8kTAJKAQ0tmTQY5dXJ6xl9BgdJgmLlw9+JshrkGx6608dTYIMooIuxQaVnOkvw7ZsY0kOb3qkD2ACIYaqtG8Svmlg4gVQfyaYkv0i3BpfOhCILQEFQessUxDDJ8SOWt6OOoX/MeTfCd/6nJmBMpAL8FWXlPy9Nwbg2EXJUqbviz1gGlLe48BSSHjkWAUSF0PPHzxKyMT/JgO+9ggdFHIgrYIwFnbiRo8Hr3OojFKR28s0eqdUCX7MRtq5+IOvS9pgpIkVvcvrsgxw5y0FWCUCFO8ttqbhvyH5JaNfS6dkd+/9+PS/3fhMXdfrPWCYqsp1cWxYnCu+buKoM9mPzBJg4SHWTwuhEnHYpWOxhUyBZEznJgOEpoFqM0ORsNiTlsyl9Luit03Ygmk9kozAjY0Ud8i29UVYlrdFID3UUBklSG9ELmzolNvb+18ceZy685MsWxZhP46XTXEukQ8LtMlB5+JIWnwIuYuR/RE8bq+eaR/9Vc6vrSAPhO++mnZfUOF1Qdw+cL67ocv+EMWZ8DMUbRQ63OzV6CROgpAdXr+qltJhzATwTBSqzaX0jeSFNV90/3fBsi8OG+Pyd4HAKqtoy5gm8/Hpi3jyWFKqVGUiYlVgSqyMPkAuDmxXbHNkOco8JFv9+zoXD9FWS1aHaIHxgbnHZyB8AoWXX2KAiO1+CwCbZEft5EcoT5jAWSjkfQPTRAhMk54 speaKfnE EXrBtpl9GZoxwKCXiT8CDSP4iLYO0zjJCxhlhOkMPtK93LWV8+XhdDhVWl0KCPbynYwiYmoww6SuNLTaS71Qz+uNolzQb89dQYq/Dd6jlbIoter/vB22BS8McDItjrqTUS5X/YXLXEp3f3GsuyZPpYZ/YVDyaxRA8K5P7zWbmv3cim5E4tvZ9DHiWmAbWQi/SXkTZpkkdIY9/FzkOcNQA/XgUF6WzI2EE628ws0KbGYLx+cIPJ42m/wOovgZlg27O8FYj62naVnJs+KlxkDXdG20LkRCWOx+6madDNo1vc9n05gz5Wpd7lj54LChCEceY3JcvSuHHS93KIiF35qmKrbPoeE/v8Dr5uqRcSyIQKx45UC+yo3jKlWP5vNbok/BHiFiKovm+Rb96mgU3Xc9YMoQGsvpUUYEiiVSNVJRSTsyg5o3J7X/ZEHy/FszJJl48aSSb9xPnBfan4doMVKOQy42prAWBe/LgjWWy 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 Fri, May 2, 2025 at 11:29=E2=80=AFAM Alexei Starovoitov wrote: > > On Thu, May 1, 2025 at 5:18=E2=80=AFPM Shakeel Butt wrote: > > > > There is no need to disable irqs to use memcg per-cpu stock, so let's > > just not do that. One consequence of this change is if the kernel while > > in task context has the memcg stock lock and that cpu got interrupted. > > The memcg charges on that cpu in the irq context will take the slow pat= h > > of memcg charging. However that should be super rare and should be fine > > in general. > > > > Signed-off-by: Shakeel Butt > > Acked-by: Vlastimil Babka > > --- > > mm/memcontrol.c | 17 +++++++---------- > > 1 file changed, 7 insertions(+), 10 deletions(-) > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index cd81c70d144b..f8b9c7aa6771 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -1858,7 +1858,6 @@ static bool consume_stock(struct mem_cgroup *memc= g, unsigned int nr_pages, > > { > > struct memcg_stock_pcp *stock; > > uint8_t stock_pages; > > - unsigned long flags; > > bool ret =3D false; > > int i; > > > > @@ -1866,8 +1865,8 @@ static bool consume_stock(struct mem_cgroup *memc= g, unsigned int nr_pages, > > return ret; > > > > if (gfpflags_allow_spinning(gfp_mask)) > > - local_lock_irqsave(&memcg_stock.lock, flags); > > - else if (!local_trylock_irqsave(&memcg_stock.lock, flags)) > > + local_lock(&memcg_stock.lock); > > + else if (!local_trylock(&memcg_stock.lock)) > > return ret; > > I don't think it works. > When there is a normal irq and something doing regular GFP_NOWAIT > allocation gfpflags_allow_spinning() will be true and > local_lock() will reenter and complain that lock->acquired is > already set... but only with lockdep on. Yes indeed. I dropped the first patch and didn't fix this one accordingly. I think the fix can be as simple as checking for in_task() here instead of gfp_mask. That should work for both RT and non-RT kernels.