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 0E878D374A2 for ; Thu, 17 Oct 2024 15:06:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9512F6B007B; Thu, 17 Oct 2024 11:06:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 900666B0082; Thu, 17 Oct 2024 11:06:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7EF036B0083; Thu, 17 Oct 2024 11:06:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 614FF6B007B for ; Thu, 17 Oct 2024 11:06:04 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7F3BF8122D for ; Thu, 17 Oct 2024 15:05:54 +0000 (UTC) X-FDA: 82683419196.16.223F3D0 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf12.hostedemail.com (Postfix) with ESMTP id 4250B4000C for ; Thu, 17 Oct 2024 15:05:57 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b="WbqRl4/B"; dmarc=none; spf=none (imf12.hostedemail.com: domain of BATV+8fef01ffec99140bf63f+7725+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8fef01ffec99140bf63f+7725+infradead.org+hch@bombadil.srs.infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729177444; a=rsa-sha256; cv=none; b=wHBm21X+i3UNglVwZekYRSp+VoscHpkH9KOR338btXC3of+aqzHtaRlc5HvpuYvnWS4v90 KnVx8D1Jl5M0wUPCKJzVc6chaZvxWDgnoFmkxXswzIVy4GOt8AMKfkmc2oWUfYm7A20mFs BXbJThzo1RsNtE8DMPWyHH/byomk/IQ= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b="WbqRl4/B"; dmarc=none; spf=none (imf12.hostedemail.com: domain of BATV+8fef01ffec99140bf63f+7725+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8fef01ffec99140bf63f+7725+infradead.org+hch@bombadil.srs.infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729177444; 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=aui/cZ2V9PGTfr+05NMlL/X+UUw+ndlvk9GG+An7uO8=; b=AArezWiF7ht7DC8x9UhtEb781B9ocyLX65+FfFE2TpfabjwBOwvBnkiu1okenLE6W5EQso 47pqDi5v0B2UITZ3vwywlsmVOjb1kFQqFjJMPpJzBT+4cG9Ous5TmOYayaW1OYs+UVlIS9 ED6cprsHRr1X1Lb8Kkk0FaGB/bhhgnE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=aui/cZ2V9PGTfr+05NMlL/X+UUw+ndlvk9GG+An7uO8=; b=WbqRl4/BZmy51zZh2qxanceEsi +49QMgV+HycpusVAyyTUJv9CKCkus6Ta+bUF3BSTSkBAWb+7FUX7KjSJ6oyKCYybkqQtpgrwxb7Yd zIPUrVxOjhcv+iAUpXvINr3E6qo+bqxrHOGjwB911YH3dYgxCem+cSxNRvjTovJtaWThwcYem2WZ0 iSvwjFYrWkZTohW2G5T2DBFw1oR+gI3Nula1JAQE+CbsZy2nBVBZ8baTUTYbTJlWwpcVOoWhS81Xn wmwCK8s4JFKZW2cSetu3mP6ggJJTnTh0F52UTkWXhJ4P1nKH9un5ffyW1+tcT7zKbe8Gn7oRDuS7b 5gvMMbMg==; Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1t1S4Z-0000000FDoJ-05BF; Thu, 17 Oct 2024 15:05:55 +0000 Date: Thu, 17 Oct 2024 08:05:54 -0700 From: Christoph Hellwig To: Waiman Long Cc: lizhe.67@bytedance.com, peterz@infradead.org, mingo@redhat.com, will@kernel.org, boqun.feng@gmail.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC 1/2] rwsem: introduce upgrade_read interface Message-ID: References: <20241016043600.35139-1-lizhe.67@bytedance.com> <20241016043600.35139-2-lizhe.67@bytedance.com> <7f7b277a-7019-4bf4-b100-0505c6ce9737@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7f7b277a-7019-4bf4-b100-0505c6ce9737@redhat.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 4250B4000C X-Stat-Signature: sug975aqfje78scyu1bhtferundmtfzc X-Rspam-User: X-HE-Tag: 1729177557-350890 X-HE-Meta: U2FsdGVkX186kiOG+hnQRSfPhlpQFaLw2UXtF1iMMcx94oF9knnhitBy5QPfuOoouJ2+UinjaFmJQiJIJQO9D0qXKBnRAqdB8iIlBvqifRkUNxfpI6TDUxQkCmZYY2OFsNd8N1NoFQ7XdYWWXZ381fHfjks9fYyw9O87zVN/Pcqh2QwgSKIjrNA3ImP+EOSsn2x1sbgMWCO2zT0zu1NcJL8QJJ9NY6QyhIBgcFBqWkJLyxmx5xrG80nbJTssRgVvFQrdOJehdS9DQIzJ+j60GpnLS5jQU/+7pBk+PyASC0Wgmz+NMj0ZRRv/FLbukrqcO+UpOww0uA8LcH0iMyfEQhwmkbl3tZkYvGHNhXRiCHIBCxhlB9fqNFvAlxANmOoX2hl3EaXefOxScoi8jq0k9yIcwB8ei9gcnCw4OfJ9bLUszvdr3LNAgBRzRmgUo+zHtD30nKHLC8ugByhqBM4YLTKu5bB4TAUkaOeU8Ti9N5aeHJXCeRaSW9Pfm7rZhLhSqoKem8hoRfFdTj1xbPNcRRqdLZgiuimihrtN1wadqd6hhE8JoeXEemPLEWW7SMW//OKV8S1jtCDuUYndxi7wl5v/YGTbmmGBWS0CBwj6qQPKpQi8/FI8KQM2NL5p1tmTSSprUG5sPOnsU4QLup1s8iAdMCD0HUUwTDe6/CRKrzm42RysbNFuMLIWeBdjZ0zJvcigpdfGAvj4/1avvoG6eBjCqHtX2b6RW+IWUkjXXFKyRjDrMc5R/cK4QroxEBvps9dajDcAzFP8LG/u7kOZLrS9ZoW7iuRe+WCFbDuIn+E1gXPIn9gAbViprWgBVdLhm3hSgrqVB+Ws91u1m/6ZTuZjyTBC+aJsSgmZ2IqtqjQ5Ao7zgQq7oGukn47Jc3uWc2RGuE+9pewDRCcMBLA/CEfbfYDgZinXsbvtV6CpPGcOyatNm00Hol66yWga8GY7XmFEFQTf25eK3kDSq7Z QmOr5BQ6 JbWWJPbfSqLc5fGVB47e9MAL3tHe45NaD2xwqda/b0CKxE5aFio6bPNArAY4jwV1wxXmFqiVRmZwHfH3+lKrpUaDxXBVjf5zE3n9RMSK1aBYfKc3/WKMMdR7Hq2CaVkpF73V78RpsgQampYAhF5lwvJyAbIt/orcZmQ4iXM1+xNdnGhYjK+Jg6XnwyvrZRrHw3U2eU9OnOUa0VTgBQtw2zO2Hj1csiQVHyQ5DCy8Ox81+1HVLkTQyAL5MkH0xpHuQwvRTZbykwXrr15aG9OHcxr1mxgZlyWeLRsOs8zXAzzJBd+Z2b7e/zrZUI5Zo+kJU1n7Rhm9EzFceA+wCwtvghxBHynEutOaTw0wXcbw4hgNiTrLe7Qr7x64pV3epOmvRT+uBpopKswlJ9TwS5GULWmVOpt2AJr3HFdqmBXMpabvTLQrBlQlB0wgoGWL9nMVANYkMX7ftaGPNgbChRpj1Zo8whHvh5NK2d9vbCNqOcq4ZBvZ8YhpilD4OviDnLmhpsX2Dgr5OUh0cVkW/qb3vwmWZqZ+FDX9X/pwc9Nf8r5mVt4sKWfb0q11IOCd/g01E5LOuGXLfdn9gEyJrI6JucMKEug== 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, Oct 16, 2024 at 10:23:14AM -0400, Waiman Long wrote: > Another alternative that I have been thinking about is a down_read() variant > with intention to upgrade later. This will ensure that only one active > reader is allowed to upgrade later. With this, upgrade_read() will always > succeed, maybe with some sleeping, as long as the correct down_read() is > used. At least for the XFS use case where direct I/O takes a share lock that needs to be replaced with an exclusive one for certain kinds of I/O would be useless. But then again we've survived without this operation for a long time, despite the initial port bringing one over from IRIX.