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 96E15E77184 for ; Thu, 19 Dec 2024 07:08:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 06A786B0098; Thu, 19 Dec 2024 02:08:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F36686B00A7; Thu, 19 Dec 2024 02:08:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAF2C6B00A8; Thu, 19 Dec 2024 02:08:48 -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 B84386B0098 for ; Thu, 19 Dec 2024 02:08:48 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 02AA8C148F for ; Thu, 19 Dec 2024 07:08:47 +0000 (UTC) X-FDA: 82910829582.19.7508710 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf14.hostedemail.com (Postfix) with ESMTP id C535B100012 for ; Thu, 19 Dec 2024 07:08:09 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=aiL2NxGc; spf=pass (imf14.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734592095; a=rsa-sha256; cv=none; b=Y9JYiK2cOfN9u7rrIMHSn/V9Rwu3qb42Q5ngzQXZKVYigz7qOq1CDswbRtNTgb1s29A14X qXiFEMwh7dcgHHVcUUrX8rVK3+H6fdHs6NViwmV7P99v0I2dXam7GMrRSi4gQr0U+RiniY lUJQ9H+N7G5AIyOC8uETLtoN3Qp7LBM= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=aiL2NxGc; spf=pass (imf14.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734592095; 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=ZHL2jwSQ1yG7oeFTY7JlDNx5B7u32acM12Cti4taGy4=; b=h85I5d/ujaBubaOWhQS48zX9KtALVSZuV3kyht6VkPJCYxCaONigbygrXjLqInScz+xIkP EYdeF2lT1gZXJg2O0UQ1jvWyaul7i2tud30PwL7wPN6REpg46hLCtMr5M8XjKGeHBU6kkn j2Q41pIReU7Z+rt51uKENGWvu5nEr1c= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5cedf5fe237so632280a12.3 for ; Wed, 18 Dec 2024 23:08:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1734592124; x=1735196924; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=ZHL2jwSQ1yG7oeFTY7JlDNx5B7u32acM12Cti4taGy4=; b=aiL2NxGc/aotsqNzVgOJlcPJSJZmg2WQeio+KeUrtNbkTvPW6m2gnKPnFaOcapuvQC jK8SOuvAAP+ix/vcDPSMTCnK05ZM/U+y0YMnvDj8Ipzv8ViPo5lK9wd9Tm6Sl96q8ALk 67mNU0v062nmXpJeq4kwUkO7JL23kloR6p7sFT1Hm+ZLqlwUlOHwEhzh6HCtkUBCI3iJ ypKRka4PHe7D9a1jZowfIpqirlNRz8pLzh0LrBb/3xUzLRijg7BW2T7CviD9nqcm6E+4 tAasJD3dOeyZkTZiQDJGMWDe/aaikTK/CbBP8kwJhORIAuHi5ifE6N52X/q+9Zsr02ru IxjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734592124; x=1735196924; h=in-reply-to:content-transfer-encoding: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=ZHL2jwSQ1yG7oeFTY7JlDNx5B7u32acM12Cti4taGy4=; b=KTNM09NOQ0RKgvwbpl9DV1xeSwSwKULhHIn2DqdpjFv6hVki7nuQEV5SMpOIAwmmYQ CgNXrkjAM6vAKXAEUYHxPGrWTFVw8RYzCfILNzyqy+9R+Vb2RtYjNhK94JRr+BcGOr/2 TtVMYSpyEEIW7PDLkaGu1DTOevPTNM5R8XEYeftOmJA2QQL/rrPQWvFQ6OnigbBusTom dNrwnvYtUkDWoA1ku5LgFs1HeHbpHWcAXYz5IMbB5ADZpKvsWYPY1/N0syq0V/6h35i5 lAuw3MA0KsNR2tR5aasIC96pprSGJhRrP3hW/xsQM2Gp4adPhsPSm/KJd9LwbP2p2ZzR 4Gng== X-Forwarded-Encrypted: i=1; AJvYcCUAFHr37c3ZaMImBS2Ck4ur2Sns97Xc8WdE225YtEy/K2NgdDgXpn6ecqNib2As8QuRgNftM9Ll9g==@kvack.org X-Gm-Message-State: AOJu0YzHl+CrCYvNXkyOjxevD/8kCGK7SCDNKKioZOy8NXmvXLjpT/AA C18tYAxFCgUc5xbUVZ3/BQVJg9D3Ck74Z71ykERjAxKQNRvC0nMEkgqaHtasUGI= X-Gm-Gg: ASbGncvhkgUGY9T4lAYJxRyvyeqpgHdNFJgN5xE6n1BSxjLozX8CJTap0kvUmmr3KoC ZVUbwdzeIL/IdWjLCk8CZiMhJWQdlaEz8ODq/K2+cE4wYbPRJtF+FCs9Prc2LM/vHYRPOH73VzT CU9x+bMvtT+BCxpsB4U5wdYoq2vEGJdtYnACRSuNaBpvQSSV36sTUS9vpR0Cbfna/FaIi7WCvAg 1Dky19apc2EeK70h8gV/BbLTxlWrpYyfg8vh93qCO1fQBqJr4ZQbJqqAK9v+dlT X-Google-Smtp-Source: AGHT+IGTVI9kKHu5wo1mjFBaySP65vDXi9HtTwaKXDh7R9Q5bDou23Y4HuhQu3StGXwcLT8+7DZH1g== X-Received: by 2002:a05:6402:354c:b0:5d3:cdb3:a66 with SMTP id 4fb4d7f45d1cf-5d8025cfcf6mr1713961a12.18.1734592124409; Wed, 18 Dec 2024 23:08:44 -0800 (PST) Received: from localhost (109-81-88-1.rct.o2.cz. [109.81.88.1]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5d80675a49fsm339750a12.15.2024.12.18.23.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2024 23:08:43 -0800 (PST) Date: Thu, 19 Dec 2024 08:08:42 +0100 From: Michal Hocko To: Alexei Starovoitov Cc: bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Hou Tao , Johannes Weiner , Shakeel Butt , Matthew Wilcox , Thomas Gleixner , Jann Horn , Tejun Heo , linux-mm , Kernel Team Subject: Re: [PATCH bpf-next v3 4/6] memcg: Use trylock to access memcg stock_lock. Message-ID: References: <20241218030720.1602449-1-alexei.starovoitov@gmail.com> <20241218030720.1602449-5-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: C535B100012 X-Stat-Signature: xd3r89734jnt8zs5hua1fdig778xgkbw X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1734592089-600793 X-HE-Meta: U2FsdGVkX1+7V0OrU2ObbKu2FGjFVgp/TqrfKfP0S6C6+j5nnAIUC529mJpVhY60/js+oquxx7otON3oZ1z/yS1sxZBs+Dp8Uw0dVH6g8sQrcIKZJZhNjae03dBNLE0VzitSe9diYIP5H8bUSJwHXBEOslLAOVgq3bA+TWN9MXMQNVh2GQ1GNnaYLH6FeAIgj6/fL8xMjHhCnQURcMkuNXUEGUdVl+9WOgVfaYvR5sMAJy4WQQ5qPCtMtce9NhMDfxgIeNGjP0NObijsc2Z4MrY0RVS5nxLY63Xw3hO3pEIBS/t1Vp/CCFZSg/TMk1ZHjQegEIMmpsZ3tVL9uFzrv4TCVN+5VXaxk8RTVjdxC7uIZbxKiWFySFlMj4O1joWtoi552+LBc3oPEToQlUv1ppvp2xa8nR587WRwrkxltqWA604oKVy9JizYFWYm4esjVNKXQoPq+mURAt6psK5tKaTauc1BEeoOuUHocIfPDY5IFqncsnNRDRlBYE0Ub1rHnLgTyHKrD8il6BZGHDSpHDOj9d8z09A0NNYE1qDLBK6jNhHDAmS3SE51eay7PjOWWSAlW37R9d7iH+1QAbpEQN30xZpDYKpH5Jq35sHAfcD+92+vRA6ZYGM/WpTFDTE+mkomWyvSyfjDZ2r8fIlRa/tC6LD1U7M6QAnwhnzondrS/rgFVl3vrhV8v3BJ4SreCzh9i4UutpreEkfZRnqyzaWWLc3Rr1Y6bZglUI4Hbk5YxzlPozPgPE6VfZT0HdacynoUxsIY5TWSuqSUdsqtS/37Wuodpx3fh8msVIo9FPlIEFNjFvFBaxsKydqu0ObRxMsrJTfmJxxJTpAClW8nW4C1Dk06JmWQjxOJS2EIwFz7CEOLo4lyXVnas5BJxF3uzjR/L8vw+lgcmeHfElJ1tnsOvlPQK6uw/4+al7b9HiGTzRXIU0FckavyVs1MZ+wRbRnv+KZ9Fc3XhoWAShA r/k6QieQ JfmWyAuR6kqVacPxGMJREIcpGT9XXwf88imSUjyFxjl9xisZVhUMYai5UiMUTwqYwcavJuflTPOLBEqpW6p1pLb295FRGfRilsKSSeP+SpIS/L1ngV43sPhz/EjA4SHlSMwI06fXR32hCyCEOiFTg0ntW5/LqHvu9ug9vgaIejMjnY0oDb5oD6viVmtxdbx40j1oZYBlaa+nLuhQHgs0JQp2xzeaVsyzGovlWEdkJgQdLWSygHNaZfTI5egkk0T2jop6rXT6A0w+I2ofQp6eKTq66ySMkvMyNni+GhVf2q4fdFwwVV+EEw/vnpNBkY5mIZJaFpfFu+8IPeBg54nCeiJMptblhjM9LBYx8vFqN1AMcc7PG2Pphsix3gFa1INm3rdbjKnkYfwiGExSaChgBCFuIiMa2X5cOpoibsiiH2zf0quycCzOjhFn1dFgF+B8K+BM+Onk93x75ViU44w3SyXCE+Kv9XWVDDcHkoUVX/kgBn0Xa8RLk2N89wpe9MVIWekIz8lKdq6g1p8eL1ygcgNRl1b4xBH1goTdUKjfaZJJ8jLA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000091, 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 18-12-24 17:53:50, Alexei Starovoitov wrote: > On Wed, Dec 18, 2024 at 3:32 AM Michal Hocko wrote: > > > > On Tue 17-12-24 19:07:17, alexei.starovoitov@gmail.com wrote: > > > From: Alexei Starovoitov > > > > > > Teach memcg to operate under trylock conditions when > > > spinning locks cannot be used. > > > > Can we make this trylock unconditional? I hope I am not really missing > > anything important but if the local_lock is just IRQ disabling on !RT. > > For RT this is more involved but does it make sense to spin/sleep on the > > cache if we can go ahead and charge directly to counters? I mean doesn't > > this defeat the purpose of the cache in the first place? > > memcg folks please correct me. > My understanding is that memcg_stock is a batching mechanism. Yes, it is an optimization to avoid charging the page_counter directly which involves atomic operations and that scales with the depth of the hierarchy. So yes, it is a batching mechanism to optimize a common case where the same memcg charges on the same cpu several allocations which is a common case. > Not really a cache. If we keep charging the counters directly > the performance will suffer due to atomic operations and hierarchy walk. > Hence I had to make sure consume_stock() is functioning as designed > and fallback when unlucky. > In !RT case the unlucky part can only happen in_nmi which should be > very rare. Right > In RT the unlucky part is in_hardirq or in_nmi, since spin_trylock > doesn't really work in those conditions as Steven explained. Right All that being said, the message I wanted to get through is that atomic (NOWAIT) charges could be trully reentrant if the stock local lock uses trylock. We do not need a dedicated gfp flag for that now. -- Michal Hocko SUSE Labs