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 87633C4828F for ; Thu, 8 Feb 2024 03:29:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CFE636B0075; Wed, 7 Feb 2024 22:29:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CAEBE6B0078; Wed, 7 Feb 2024 22:29:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B75FD6B007D; Wed, 7 Feb 2024 22:29:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A85C46B0075 for ; Wed, 7 Feb 2024 22:29:17 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 24F2E140D98 for ; Thu, 8 Feb 2024 03:29:17 +0000 (UTC) X-FDA: 81767205954.13.1842926 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf20.hostedemail.com (Postfix) with ESMTP id 0E4611C000D for ; Thu, 8 Feb 2024 03:29:14 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=mxAXnO7V; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.218.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707362955; 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=Q97AdgGADpUKr5sEUfHXMUPIzat7eITV2ZUFt3wg+fo=; b=k/rqiXtyCcQA70xFgiLQOye6HW7JDVer+9BDxfmakvbsNhBF3A8cigN4j5rv4k98d02sRw d86nSyF15mrZzuuX3jmEBG6VJkFVKcI+/G610HgLimseaNs8RceEo2wR6lm2IP99EaeLDy ynRyXe6FDeadsRAMjwbTKXqsYNpwdvs= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=mxAXnO7V; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.218.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707362955; a=rsa-sha256; cv=none; b=IewLpIxZb/fB6mOc88nBFc9VfrrQVLg5QtIAMOWbNo2i+/dH0u76hlyfYLx1eZnK+JBKz5 Isv10zsUKTI56qp5dffPoYSk3daP4hAJbb5wtr/VPH86EIUXGG64C+VQOkM8EInYHVE9fx 65Czr3AzJvz2YsnE9mCGAKwwn4nP53s= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-a39e31e1aa9so41666966b.0 for ; Wed, 07 Feb 2024 19:29:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1707362953; x=1707967753; 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=Q97AdgGADpUKr5sEUfHXMUPIzat7eITV2ZUFt3wg+fo=; b=mxAXnO7V+oeWnAVEXOuMSoQkWK87tli6e4X/9w3qeJWRIWYkgdeqlpLty4AgTs/Kd0 W3DpMJ/xYx4XdazaVbm06r9ODJO+IDjtrBGDWFmr89fBpP+tkThxveAGgT6w0NyjR+mF J5aZl1MkWJLrJ6fDkRRoUCrlmBK5J3fOWnwqvpSvFv+kfIGsjUeyxbu8zvvQortTY+2c mNFP9YWmbNu/M/qBRPjuBaniHm+rFp5XQebA4dcyACpRcD1QPdsmTgdZz65ua9ECa1Yb g7LjjVYdszcCn44WyqMbMRmKwRQicEKzMij473St7YS0X6DX+11NxbjtVww43gt/B7Z8 D17g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707362953; x=1707967753; 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=Q97AdgGADpUKr5sEUfHXMUPIzat7eITV2ZUFt3wg+fo=; b=pHCJXTBCWQuNepXjVrj0gc6ZOZIgD9L/exYxfHdhS6MO0ZjfNxPvR9N8PbvIZbKFq6 JvJX78rCETw+6thoN7aWDBRXwA76jUUEHw0GHntkfgRwKKUnmzc106PjrDNwSU370GK5 QB7qZW7nualOGW82+g/FgwaUzbx2t99xjaAkjHi8Sbw/g5kcx4+rWicW6pnpkzRRYcFn 0/tp15s0ABWZ65MggyGBZbn1l3YIzZ58d+spTzPnuA5TmsRxFKb+kKkU8rZbeO8xhtwg upEXquW6qc1tHZrSmPOg0VP+7t3xnxt2AeDVO92KN/lAgavOsc928xGkww0wOiVZ5j5G aZyg== X-Forwarded-Encrypted: i=1; AJvYcCUesNoPcNvKNGbRYI1EFHxb3o9YhT3BEvyjbBYEMWHk4/Hx0uRdxqbfceJmoC3Q0Dbvg/gn8EEd+stSQrbv7tRUDpU= X-Gm-Message-State: AOJu0Yw5bOOznncyU6mTir4G+7Ouq9mkAwRhfp2JkoRemziykqNTDiRN /2eeD3VhRSaoPXuhNY5XLp/6xHrUQ1/heu8m6ljFaH33mNcKRdKIRIYiE9WGsvc= X-Google-Smtp-Source: AGHT+IGYzvXSLmylemDM1WdchwzVSHq5qTZWVDllnE8fJELaURELtDZhsVd/KF0ZXzPIft+h+B+bDQ== X-Received: by 2002:a17:906:3086:b0:a38:15d8:9385 with SMTP id 6-20020a170906308600b00a3815d89385mr5226208ejv.52.1707362953314; Wed, 07 Feb 2024 19:29:13 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXyZKOXd+GYLf6roADIeGg3HGZIS2V2hWuBBbHKXWYiv9TArrHxBPKciwDv3ItTYyCElznAZgBPtUthdhyEnpAwEoq9fo7A4No34CyUT/a00MZ2xTvpNCGWjLy3GNppsP9bUE7TklBCNHVPr3+Q3SzzARLpGiEpHh47YMDCgkSG0ckTyV5EL+C5qIvT3LwQiKcLftsafA== Received: from localhost ([2a02:8071:6401:180:f8f5:527f:9670:eba8]) by smtp.gmail.com with ESMTPSA id op3-20020a170906bce300b00a37669280d1sm1429879ejb.141.2024.02.07.19.29.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Feb 2024 19:29:12 -0800 (PST) Date: Thu, 8 Feb 2024 04:29:08 +0100 From: Johannes Weiner To: Zhongkun He Cc: Matthew Wilcox , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vitaly Wool Subject: Re: [External] Re: [PATCH] mm/z3fold: remove unneeded spinlock Message-ID: <20240208032908.GB185687@cmpxchg.org> References: <20240204125404.2112384-1-hezhongkun.hzk@bytedance.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: 0E4611C000D X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 96b8anmxecec8pq7dag38hobsf95zapu X-HE-Tag: 1707362954-755600 X-HE-Meta: U2FsdGVkX1+06JAUEgCfCZVanGLw7DHfRuNu2/Te6r5/uPajMDaqAfZ8KGjh8ds0vuqieZNmccu2iitwqRhuCOB5z221wYJbLz2QtuH6lxAMMK77cV7YTGEeB6cFPLg7CnHz9Dv4t/slyhsW4IfFasfWKBCqkfICVLE2ElutTdjkqRI0O/gkeS2Gab3QCs4XYCDO6dPZSHPVdQR5IUiBi4Ml+J+3caYwfD5Eb+e33R/bOYKZ8TUnGw4WHwYMsyoQ2Av1upK7nOt2SP6sjdgl2kxLgERQu+u4fgu3bRq0m8bS3VuYbhARln7TXc3mewybchnHIAsNPoXRhMfllURm4hzxTxEMeBc2wkGxvwQ7HuOYn1N9qjQMn+gYzYrTi9E4t27SXWW0RiMXERR5vvGJXiAHZH+gvmWGxmlx+i8cz2/P/VE3q1p+A0IXzKZJOV6OaeL5YAunKNw1+mAkBsgogq64EPbBzB7LbTdGFMtyF157thC/YM31rveRjbyns0faVW+tkqEcd4KbAOZT2rI0LTjDGsPyibUGxbbaQW/IWqGw/aUsmsiXxAH7z3uhxy7oAPELiIBPQcQHYx1KX4O8nkGVBPdZYh+2FOAd/10iAoJ6p8tgUObtAsXkj7rOcF0vfuSgz/ffTXkx/UjaW1vSKOcumnfJzKwUPbNiAthQjiChThJI7a3Wde4BkML5ZCsR7oZgZIUZTlpgPZW07MfO5g3sFMKVLKs8m4BWAtPyl7Vhsgb5H7ZW3J+YfbTfzdv0VvCjGiNg9W07ZBQv6VKlXd+/toRHI1RLydueUI8a3mubVtt7RWj7pAr4fcyohXmhxPK1/23C7azowprIyYWGEaY9S+eifZvIe8g42C21k6ubMAE9yQvqYekfZ2aD8zVL++cRBtyYVy6Hd+veqRKTmNCeVNy9tcBC+VAv6KVFBxAJ2UKuZ/aC6B07+YQ40e9gyB4jXA8n72JXeyXqdSA Z6Coq2w4 XLMgmdnhJMQbnImZ/pvgTrsTUNbb/dc5ZqPt02z+2MDMHbYcCSb7OsumSYO9IIuHGTfhJ5JHZf3zrNxlfiSeNk0Mj3IPROfUxi1Jt6DHiQ2cq4WoChmNU2b4JiD42wamdN0nPAZjo9zW+1dM= 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 Mon, Feb 05, 2024 at 09:08:05AM +0800, Zhongkun He wrote: > On Mon, Feb 5, 2024 at 2:46 AM Matthew Wilcox wrote: > > > > On Sun, Feb 04, 2024 at 08:54:04PM +0800, Zhongkun He wrote: > > > There is no need to use spinlock in this section, so > > > remove it. > > > > I don't know this code at all, but the idiom is (relatively) common. > > It waits until anybody _currently_ holding the lock has released it. > > > > That would, eg, make it safe to free the 'pool' memory. > > > > > - spin_lock(&pool->lock); > > > - spin_unlock(&pool->lock); > > > > no, please see the commit 'e774a7bc7f0adb'. > > spin_lock(&pool->lock); > - if (!list_empty(&page->lru)) > - list_del_init(&page->lru); > spin_unlock(&pool->lock); > > The original purpose of this lock was to protect page->lru, > which was removed now, so the spinlock is unnecessary. But pool->lock protects other stuff too? This doesn't rule out that there is some other ordering dependency on cycling the lock before freeing the entry. The person who would know best is the maintainer of this code, Vitaly. Let's CC him.