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 B3246C369A2 for ; Mon, 14 Apr 2025 17:52:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B52FD28006D; Mon, 14 Apr 2025 13:52:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACAAA28005A; Mon, 14 Apr 2025 13:52:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9249C28006D; Mon, 14 Apr 2025 13:52:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 66B5C28005A for ; Mon, 14 Apr 2025 13:52:30 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7ACE65959B for ; Mon, 14 Apr 2025 17:52:31 +0000 (UTC) X-FDA: 83333394102.05.DBF8A9B Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) by imf24.hostedemail.com (Postfix) with ESMTP id 92B8F180005 for ; Mon, 14 Apr 2025 17:52:29 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=g9WWJcrG; spf=pass (imf24.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.173 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744653149; 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=/vRe+MVQPZViiLA1Y9m/i86MGRkDnhLyhpBrzwZ9S78=; b=CkST7IdWFlFSnSjghRuihQw4LDeKwiXrDsoo+gqcdB1AbQi8iL/4hnULoPH1knndJZALZf sFQUOP9K/fp3aaCHV99ikU1GP4gUlof4k3awyad2zgIiFvPUZrg4o75ukSQpVOzo5LfbZf 1vxyjKAdcawY1/9DAn4uxYdCSDx1gOQ= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=g9WWJcrG; spf=pass (imf24.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.173 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744653149; a=rsa-sha256; cv=none; b=TWIm72lhh6+GOOYLAPPAmI0gBqJcJ4GWQR4TWI1lof1eamgNjfWnq28NhlTUT36yz4T2Km wuLKr5Av5P00qfKhMkunist807/V5MowsZ4b2bojJZKZu7D2iAUoWYBho/+V6L41EnHLES fwMA2aYwuvRsjO/mAg+G4FjwTASwAP0= Date: Mon, 14 Apr 2025 10:52:22 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1744653147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/vRe+MVQPZViiLA1Y9m/i86MGRkDnhLyhpBrzwZ9S78=; b=g9WWJcrGGa6VfsOyy66ejvsC8a9ns51UGLMfC7TehddsWRPhsAYhu5+yrVx8AMEV9Vl2HO BmUhiw4ujHxWXEPdWzIbQhMJZ5My6t5GVvuCZ9PAp4huYwFfKq9senhQxgiKXojuyajV4M ZGMx3yO1XdiEP5RGtAemrdUkIMDGvYs= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Yosry Ahmed , Waiman Long , Vlastimil Babka , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [PATCH] memcg: decouple memcg_hotplug_cpu_dead from stock_lock Message-ID: References: <20250410210623.1016767-1-shakeel.butt@linux.dev> <20250410220618.405d00875ca61043c4ffa6e1@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250410220618.405d00875ca61043c4ffa6e1@linux-foundation.org> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 92B8F180005 X-Stat-Signature: bem3sii4kpc3xzb39pdbshnmpa9w541i X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1744653149-97116 X-HE-Meta: U2FsdGVkX1+g/DbPLg4rsYEjeTOK7TEoeyh/ZUh+TMx6z1E4+1ckgq3P97cfq3Qof9VRl4nziL50krV92/z/B5ovO7x8v95biQOhVq0UCrXFyXCFfnJg8phd4bJ7RWzKHSFPEQaagNo/AqcrroP3OklfdcmmUdulFv3o1vySbvXk6GqPVmA/ajp1kNAZLFE4tOF48Ub9vMJglWgP/RQcS+kgelrtH8RzmNS5/RBLmgkustOR74ZUMTJ/G5mII3qh//CTf39LaJjphpQWORH1gg56cCD7baXY8H/7iu9SbS454q5t/U+0WsTcmqZtGBPXq1W/COf7OVQaRmx5Hod9XS4wSVFJJJ6P1YF/+RfxlWJCsUx9FoKieZMXNSc36D9Hn5TYQw7kbX174CMQ9DiQ54B32PnA6wcurAayGG5TgBXN4O/OPv0FB5pM2SFpqbAuFmFirKMYe6K2QOtTL2EC/Yzf0ZYA2aeKfR1uBr9+SiUPsBhK7DEQVLpJfFVyzTenOMvMhWtEjvWk8FFcOsjhXQqZHyFwXMmhplM3bGdwvaZuh8sBE4mUAIZT4T3qL5uuqMNvcEzMr4VQOJ/HlSS9QPVP9Vts67cL//dlNpXepXtGN6LogcZhcVJna78w1SiCM/L/wAvnJAlmBwcJIkJDxVa9/vwxuwz0S9dFhwoSvLejEsCIaF8KtU+CI3oM4hWEeoZ0qwlkIJzOBrltgDBkdGLUu3WX+wdcWyGZSH5fBZa7yaSZIpwWdW+BZFkZ4C96QNGM+1l8rTdBR7wZ2dXZQvT6QCLuFSCMz8jEJxE6F7LDHj00BFGhZg+v2E1gCt2SrEX5rt5DohYjaNa8S7MZdttjQu2zAQWagC3GFdyDp6TKvoMDnMr5aCq5v9WuzKsx+cP+uW7LTN18jtwTwmKCsQwMoGKdJ137OiTeZB18SW9JY9nytxdk5LyFjOBsoRErwXPyGluorpGfeJgYBel 67FU4tsx h+5OYnVNxJOmkW8LUf652ojnuQoIGxeczrwM0yrCo5N3bIlmh6rurmdZA0kRQfMIY2b3HuXAcwndRa1J0qntvzvCCBugcXdP9rESLJftQAFLkRhRgPRZq1LMfM9+uBCpuutPFcKeWQGTs1QUZRLj/BXuGY3xYfFcABtgIrMMZnmEDtvZqeq6epNxHK1MfvRBcSQ/ihWxp0SLRniSDW6FMqy9iowtoiET7+qHU+xWqi532I18= 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: (I was trying to reply last week but my email stopped working, so trying again) On Thu, Apr 10, 2025 at 10:06:18PM -0700, Andrew Morton wrote: > On Thu, 10 Apr 2025 14:06:23 -0700 Shakeel Butt wrote: > > > The function memcg_hotplug_cpu_dead works on the stock of a remote dead > > CPU and drain_obj_stock works on the given stock instead of local stock, > > so there is no need to take local stock_lock anymore. > > > > @@ -1964,10 +1964,10 @@ static int memcg_hotplug_cpu_dead(unsigned int cpu) > > > > stock = &per_cpu(memcg_stock, cpu); > > > > - /* drain_obj_stock requires stock_lock */ > > - local_lock_irqsave(&memcg_stock.stock_lock, flags); > > - drain_obj_stock(stock); > > - local_unlock_irqrestore(&memcg_stock.stock_lock, flags); > > + local_irq_save(flag); > > + /* stock of a remote dead cpu, no need for stock_lock. */ > > + __drain_obj_stock(stock); > > + local_irq_restore(flag); > > > > s/flag/flags/ > > Obviously what-i-got isn't what-you-tested. Please check what happened > here, Sorry about that. I tested the previous version where I had drain_obj_stock() as a separate function but after seeing that there is just one caller, I manually inlined it but forgot to test before sending.