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 2D48CC3600C for ; Thu, 3 Apr 2025 21:53:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C025280003; Thu, 3 Apr 2025 17:53:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 56ED6280001; Thu, 3 Apr 2025 17:53:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 436D5280003; Thu, 3 Apr 2025 17:53:28 -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 26335280001 for ; Thu, 3 Apr 2025 17:53:28 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 5F395ACB6A for ; Thu, 3 Apr 2025 21:53:28 +0000 (UTC) X-FDA: 83294084496.26.4F52780 Received: from out-182.mta0.migadu.com (out-182.mta0.migadu.com [91.218.175.182]) by imf08.hostedemail.com (Postfix) with ESMTP id 89D83160004 for ; Thu, 3 Apr 2025 21:53:26 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=UiQuLG3C; spf=pass (imf08.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.182 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=1743717206; 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=O4guBMfIbd3F2XZ6kM9yTMeZgA4X0tKNbbP6azMXJGU=; b=qX0ddvvREPUrubdb+f4HM4vadHVjCclDjENF/k1qkeSgv5UK0N3zKLNmRf0wd5aCteVML9 pQlpN36o8aVIKkLX6aEA0NHIYZ5Top9yo08s3c5gsBbRSXoa+xtoHI4vfLP2F7Fs5lNukT GGFb3BEkPRJzZ2SA7F6EAdTaBnFnl0w= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=UiQuLG3C; spf=pass (imf08.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.182 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=1743717206; a=rsa-sha256; cv=none; b=RFKHlIRclps2S2Ihmp37n87Lo5XJYx1rj0slt9bRtjNh9c5MlbVCmnA/OCOpCsaNvS+SUg 3TM5Z2iYj0/jxHSweRqwEwzgxtqW4nd3OptltXf7bbu0JuCHqkzUjhbH13mkq3C4JAzOhi ShLFJytd7S1YLVASgSnSfPa4p5ZQ86Y= Date: Thu, 3 Apr 2025 14:53:17 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1743717203; 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=O4guBMfIbd3F2XZ6kM9yTMeZgA4X0tKNbbP6azMXJGU=; b=UiQuLG3CvFakiz8eI670didk7PB/xq02yBvMyCdtIHMsqzDdhKqqSgXcWwWzNjWoNOhovN 43MeRlA9a0dkG6GXz7rRWPBLo/g6bSXSd+8IjUNBXW5cR0dGXRXrsGHTZBxn5XrI5D6icu 7XSIN5Ms+HdtmzzYSSlwxIzE63mmPVE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Vlastimil Babka Cc: Alexei Starovoitov , Linus Torvalds , bpf , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Andrew Morton , Peter Zijlstra , Sebastian Sewior , Steven Rostedt , Michal Hocko , linux-mm , LKML Subject: Re: [PATCH v2] locking/local_lock, mm: Replace localtry_ helpers with local_trylock_t type Message-ID: References: <20250401205245.70838-1-alexei.starovoitov@gmail.com> <78c2d3be-aa8e-4bb7-8883-7f144a06f866@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <78c2d3be-aa8e-4bb7-8883-7f144a06f866@suse.cz> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 89D83160004 X-Rspamd-Server: rspam05 X-Rspam-User: X-Stat-Signature: dz7uety3c9ann617t45h9f54khjy515z X-HE-Tag: 1743717206-138463 X-HE-Meta: U2FsdGVkX1/z1hxsWEK+Qa+CSpyqIZuIW1s3iBocI3AXKUSV0068J/GXrPgnoHZh2K9Th7gPlb3jjQyykM78vZth1yXBQ6Idu4WNV+hKkqm6ZQb/U9BTwCOBdzMYK7vP4Hg4LSvz/yYnKPOUNqN31m4ggatPD0tDBzV7b7PvQVAgJsSNyhu3RMLBvtvMc4AmteKhIhDReWLckTHLj7wW8gP/vOMhaPjf0V3VOb5FYnf7TRVFUE//7ujEBVgTc6j7AIFGyVhX0xVgYfYgqEhQ5G+R0GnH4EWul3GE25ZMWttOLN5CW7eaTYawkd/ZCp2aeFxFJUn3sOO/3CgpZ989khd56dGtr8U9hzsBmR2ii6eSYmesjIKYMKf7ODJzSftIg52+OA/j3mIm+qztO37c7D4ONhBcp74p4oozhrDWCRPigdbshvtptzonKhTZHvemvqhLt0izn3JQIqlqhtSSc8MGX6JmwD6SEHq2TW1Mn9u8NaEXoqaiZHK87Jv7gp+PdKb3IYk52iGnLW2uzU7GBvvGqR5CsoMlAokdUdtm8vrwEILSkxxlC7qOGJ+Zt7L3MlRkT8SjKqleeMse07Xu6MWVZ3bBaXg4HWpfZjZp5P/wKsCs0G8zHrB168y8M4HZNeuu9LXw97mVIC8vp7qQx1BjZM/wJMM4e5ZvFK2XMrCRRx8I9PNLOzFZhBThnlAgx+FscCynyj9LC5zi4xWbdtaIcva6XxdVlihFw7c/jQLIsNlLr2+cdxtsebikf8nRm2lPHmK6F+Cr+H3zhRO8mz4sipSbBieig+wX1bCa/yDhppPuDh+H10hqgxlmCmbMEcXjY/BpViixqIdcCAnLR9u9As/ERMOikXfdVZkk9Hk5jDZQ8aY7zOTF/EYfu0mG7GR6h9fwGY6RfzQMMydp13McrRGwIg3sMCWyknyQ4ETXHiuPjKZY06CUKk7r4sXUFkMiKe5lptwV8O4rkO/ 9krIhUyh aWJpyj3QFnpYgI7N39b3vS49vBLlA5RzBlplX5NdcechkMSh3DfaWc2LW8L4u74GSZV1AJuJTbJoEogEpuXm5kMfstsX6/2qY1vDutd/EJ2Dzwvgisw8dh6nioakkprw88SBYrToehsEpVVJ/B9LSx34bKAe+jQWW4+21hnQh5XKPMvCfTj8OodwQwdQ2nm9OFKgmsptFqL9NxKx+k387yUXsQbPubCpL7wHZRrKG0NVh1s8OEBsucQu+SpYaPlGjIKl97eMWL/j5k0B2nnu47QzxTKc6uIzJ9cxixLC6O1uva67uirbyMbeXM7G3ikHvEOj2AZbsPHfqveWB3eGOcvcVAdl/+9+Flos5 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 Thu, Apr 03, 2025 at 11:26:35AM +0200, Vlastimil Babka wrote: > On 4/2/25 23:40, Alexei Starovoitov wrote: > > On Wed, Apr 2, 2025 at 1:56 PM Shakeel Butt wrote: > >> > >> On Tue, Apr 01, 2025 at 01:52:45PM -0700, Alexei Starovoitov wrote: > >> > From: Alexei Starovoitov > >> > > >> > Partially revert commit 0aaddfb06882 ("locking/local_lock: Introduce localtry_lock_t"). > >> > Remove localtry_*() helpers, since localtry_lock() name might > >> > be misinterpreted as "try lock". > >> > > >> > Introduce local_trylock[_irqsave]() helpers that only work > >> > with newly introduced local_trylock_t type. > >> > Note that attempt to use local_trylock[_irqsave]() with local_lock_t > >> > will cause compilation failure. > >> > > >> > Usage and behavior in !PREEMPT_RT: > >> > > >> > local_lock_t lock; // sizeof(lock) == 0 > >> > local_lock(&lock); // preempt disable > >> > local_lock_irqsave(&lock, ...); // irq save > >> > if (local_trylock_irqsave(&lock, ...)) // compilation error > >> > > >> > local_trylock_t lock; // sizeof(lock) == 4 > >> > >> Is there a reason for this 'acquired' to be int? Can it be uint8_t? No > >> need to change anything here but I plan to change it later to compact as > >> much as possible within one (or two) cachline for memcg stocks. > > > > I don't see any issue. I can make it u8 right away. > > Are you planning to put the lock near other <64bit sized values in memcg > stock? Otherwise it will be padded anyway? > Something like following: struct memcg_stock_pcp { local_trylock_t stock_lock; uint8_t size; uint8_t nr_pages[NR_CACHED]; struct mem_cgroup *cached[NR_CACHED]; ... } and then experiment with different values of NR_CACHED which puts all these fields in 1 or 2 cachelines.