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 28F6FE77184 for ; Thu, 19 Dec 2024 17:01:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD6066B007B; Thu, 19 Dec 2024 12:01:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A5A086B0082; Thu, 19 Dec 2024 12:01:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 921A86B0083; Thu, 19 Dec 2024 12:01:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6E6C06B007B for ; Thu, 19 Dec 2024 12:01:12 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E75B41217D1 for ; Thu, 19 Dec 2024 17:01:10 +0000 (UTC) X-FDA: 82912322640.07.0374DCA Received: from out-187.mta1.migadu.com (out-187.mta1.migadu.com [95.215.58.187]) by imf03.hostedemail.com (Postfix) with ESMTP id 4B7A12003E for ; Thu, 19 Dec 2024 17:00:48 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="L/v243B+"; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf03.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.187 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734627648; a=rsa-sha256; cv=none; b=6Lvpk4gGelYplDHj0lLFL4fNWdnhQ1hFDmjMxO8jxD1b6w0xSX3cuAk9rM9qJ85xA7/ouM qAPMvGb47eugMWg93hd2wULPQtjutFTUHLYHf2eXZLocgaf7qcIJn+C21bgFxkLM4h0n3G +Hg/g99FYn5TpaPYdH/lp6Q9jViSVVY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="L/v243B+"; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf03.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.187 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734627648; 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=pSMfK0i4omIlt0f7wEwXAdbGK5fA0kJjD2yJV6Q6psE=; b=hNmIFxvVC/g3jpIilJGtpQGPlW6cPPfSjjlcgU840lHKZFMMZ43RFoeo9V3+DU9+gmwTph 7yz4wIpU63kbbd+G+mz5SsPuRFrizrZYU88u8qLsIe6TZToT/E/ILMS9tewfFB8TqH0C3f /Y9F+imgcG1sIPEyls2ANwWwLgl0Q3c= Date: Thu, 19 Dec 2024 09:00:57 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1734627661; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pSMfK0i4omIlt0f7wEwXAdbGK5fA0kJjD2yJV6Q6psE=; b=L/v243B+bliKAp2QQaFde6MeWH/WFG1qVrQP9zp79kwzs3lvqNP/tkGFYKh51ulb0XxWev dWvBbiQVaoGN/nN66n6INmGX6aeTE8/GbVJUir/8MvxLmq7gTcqNqzsbqxP8BhNaO8mHrN NBQVgPJMZ4i9AdDPNWtEcNnEOhBDtQM= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Rik van Riel Cc: Andrew Morton , "Huang, Ying" , Chris Li , Ryan Roberts , David Hildenbrand , "Matthew Wilcox (Oracle)" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel-team@meta.com Subject: Re: [PATCH] mm: add maybe_lru_add_drain() that only drains when threshold is exceeded Message-ID: <5x76zwpbqus2rjjoezidn3lt7tjuxon3xdx6g34vf2ryhz5kin@y5t2l2gdksok> References: <20241218115604.7e56bedb@fangorn> <43o2dqigz6cap75h7y25jz6qbdzoinyq3ntxx4sm5cn3y4dddm@mwyjjygrxhmm> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4B7A12003E X-Stat-Signature: fd3ujnfby3yfhq5u7bxsdtn95sj5y1fy X-HE-Tag: 1734627648-947579 X-HE-Meta: U2FsdGVkX19durpuA11TPkleT1nS/S68RKwsknNfJodd1OvJG36Exatjd/I3zQoYiy74Z19qt05uNoSGrw8t5DJvC5FSyCzS8121EFon8iCM87ipvlA/Z0usRFZvNvWxXPdVhx1K4lldqK0nw5IBF6OIMAfeO0RcL+I576JC2JEKwkiDbjNC2ZncSQ+EVUT8gPuUdgY3XIbHUArfjH1v+Uj+ExNqii6z1Xrn0yBtIASuXkAzzg/i9ytnjhkwTvMBK5/RM1kHFe7rT8tIWFniovB3AkriXo4ItdpwdEIMuHb1er8WBD3v544IKES8F2X3wx1EiTLRiG1imW0iRjjczI4hNeUNm+eWwWT2m5j2T0DteDN6DKfJEvTQj24dK37PkFJNaLhtkcyMAS2E04paw7QLNydAXj6d1Na1hSMH9ctqsZnon9p86p40f9bcXBCknH0gNMyaJx1lQRReXU2V7z0wn0qogmS5nF/bvvV01s5vjUNrXI6xEB+CzYyyANrOuI4h8+fpYndsehWBOvqMmb06MvL1/CSFa7XolNC8lcqD4q3rHZ9w8LET/OfRZ0HzX1rGsgExjv21aPK/9qAhIh8JPXwThbnSJ9DjtuqzeqE0e7gTUtJUAY9dbAsOBrsD9XFzFM+0tv3+5vRa4a4/UKESgmojs4IXdWr7jjayiv+b7WBIJALydto/eB9lQicV0ixdU+sIsgzTcuKe5OzQIhK3y1IFubepi8L65dVWElgliXrqlyykHE5qqFor9kSLvH3yVzkpElau1QehHNawiG0tpGpfZ0Km/I5JmyCdVVI8qaytwh5mQJgr+im+Ixzu9LLSKW8mCJ2TTAC9sLvQ0k2sLMbSvPf3SJDdGfHvB7cCDGlJqt0a323YnGLJHGlYl0dH7RSNyZ+8VO4ZgbsCvi6C2bgPhEFL8/f5adDvLU1BcXi3PqHegYyGn357D9Yct+hdDdWsudpIj3PyY+Q jWFlHFoK u0gi5VtJDYOQA75eRmSq6yILery7dHBUzSKmcoG0WXsjk3DW9AsO92KIimxW6J6LYnbnYFagqe86Qd8zpb433XxASGfv8GflSC7b49BIKUNsEf4ubA4ZxVB1XzBQsLs24RJAkTA9IoBcV2atfvOWVlw9eKkx5BFpsBXBBndhBnx9BW13yHENFZn0xiNk+MwzpftC8dZnGjviVsEM3TF85qNYN1w== 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 Wed, Dec 18, 2024 at 10:13:30PM -0500, Rik van Riel wrote: > On Wed, 2024-12-18 at 12:20 -0800, Shakeel Butt wrote: > > On Wed, Dec 18, 2024 at 11:56:04AM -0500, Rik van Riel wrote: > > [...] > > >   > > > +static bool should_lru_add_drain(void) > > > +{ > > > + struct cpu_fbatches *fbatches = > > > this_cpu_ptr(&cpu_fbatches); > > > > You will need either a local_lock or preempt_disable to access the > > per > > cpu batches. > > > Why is that? Can the per-cpu batches disappear on us > while we're trying to access them, without that > local_lock or preempt_disable? > > I'm not trying to protect against accidentally reading > the wrong CPU's numbers, since we could be preempted > and migrated to another CPU immediately after returning > from should_lru_add_drain, but do want to keep things > safe against other potential issues. > I was thinking of task migration across CPUs but it can still happen while zap is ongoing. Yeah we might need to reevaluate if we really need to drain here or do draining periodically.