From patchwork Thu Sep 7 17:47:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13376734 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 B50B9EC8742 for ; Thu, 7 Sep 2023 17:47:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5A1558D0005; Thu, 7 Sep 2023 13:47:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 54EBF8E0001; Thu, 7 Sep 2023 13:47:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 417058D0005; Thu, 7 Sep 2023 13:47:23 -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 2199B8E0001 for ; Thu, 7 Sep 2023 13:47:23 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id F334CB4522 for ; Thu, 7 Sep 2023 17:47:22 +0000 (UTC) X-FDA: 81210533124.06.0AF943E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id 6D86F180025 for ; Thu, 7 Sep 2023 17:47:21 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="Njpcz/Iy"; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694108841; a=rsa-sha256; cv=none; b=hieGf3l4HpshR3hJEfPkCM94/Q6hCns0XJyT2Yd/FysFiXa/6UcaP/sK5GNYLb4F5ER2zT mWvMgnQTW7ksIDmCeTLp7moQ5z9CHL+79WRXmfVsXsn1YMN3F9riAs9mlgk8uvj0llVrJ2 ZdYhCaPOUmoXzwKaPcI5Jj3LVtF0P2g= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="Njpcz/Iy"; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694108841; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=ykzxARVy4uCl6EJxalPtEu7KNDbQwm8SXBvTZkNjJPY=; b=DN7+NspA1OO4RhwQHvhlBDNHpPeP7WOKcaW8gVPlqqpmiwbLYSiiR1siwo1zfEVMCPV/bm a7n1UuZ4xSkrixMFAlB1vqtOCxrk/OVYqNOwfNRP0Jp83K5tBjW2BO1iqi6xPk10xyCEEG flxW0/jVpoc+jO4NKNcVXx8SqV9EkFg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=ykzxARVy4uCl6EJxalPtEu7KNDbQwm8SXBvTZkNjJPY=; b=Njpcz/IyQT0fdTQWkzaJwynKDt grfkwXy3awyPXJF2veO4UspVoBdf27UlM1dayYrxsB7RWqjm/4wW0bVokj3a0NfREiAqZuD+7JDod ScEIUkk8Y85CrX4Xtl1GdJH+R3GfOe6dpsa+8PPxQGtMdeOuEex8hcbGDH0+6h1cll2+MwNfpPq8y 1Yn7d1t5yrWkwrY321FIn/1Voclkp/cF9kfNfa/OiVG2qmhQDxiJRn2ysBx8aT4CNYBGuA8bKO5b0 +aI1t/4evcLGsE4QMu6NkKrbXezfOVVkVjA4u5A3aq96G/1NCyspCs2LiZRAs6Efbh39ks4he24eK TUww7iug==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qeJ5v-00CUFH-Ai; Thu, 07 Sep 2023 17:47:07 +0000 From: "Matthew Wilcox (Oracle)" To: Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long Cc: "Matthew Wilcox (Oracle)" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chandan Babu R , "Darrick J . Wong" , linux-xfs@vger.kernel.org Subject: [PATCH 0/5] Remove the XFS mrlock Date: Thu, 7 Sep 2023 18:47:00 +0100 Message-Id: <20230907174705.2976191-1-willy@infradead.org> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 6D86F180025 X-Stat-Signature: i7u8yjtbw7rd8dw3dme4eb3fjsgnqxhn X-Rspam-User: X-HE-Tag: 1694108841-482628 X-HE-Meta: U2FsdGVkX1/7YfF3T33FxAiU0Hp9JKTxlMCUpHStjizkSOuHUOWEzOzH4TG9Jbie5+f8+x2ZrSO68HmnUzJkZcTy015wlvqbOkEPBsV5T6RnmHZowuGpZp4ez18F586FuYwLyUYJ0V3eD5+kzoiok0BhtQg0F8n/KMd32nPtHwYJgN4M3i15pnP2Hep903FMIiAQdag5U6qNTNb03lvqyPI61I5HwUEIv7+WqyHkumk+b5S6bWSeKcQaZ02BBKY32deWa/r9Ca9lyvHh60e7tgBiamKiwbtejXgBKHpL3nNsbBJjGUHb9hyn9CJHn/kO/snAuPAEm1GjiL/5O1IGZoQXsIabPVUBFxHBZZtOC267m/ren+CuxGY6qKoRPaes4lci5rxLhsDS2YS1FtWO9XhjL4wub+GgT6JpQkjFkf6dAy7rnVgUx+4TFvd2ufBvJF7iCBMgaOdYgZ8EPPWRJy5QZH4ALajB4+9jOh6deZj0Sulni7cR6mpOFDfsWmT4uihOM8rPgzIu6JE2RDS2sdGK+u5HDdRRuNnpgW11I2IOU1zV8bQ6/MNxgeMIWdi185ac68ieGKqyWv5aY6HgdZQWnjNDoUFCt83vCtAJF8IWQtlz8yS8KCbtTfYN3LduO6o0kxmObIJjRFeO3DMVgLA+Ni6w9FReruasUq9bQSgBrNRj5rG7VTCr8rzzQjtmb3VUj3b0Sge0hai7LDTC0vma8GlrAvKr3mggSkL+OXI4kGssLc/S3FDHNT9HIfT93zXgjCazcNiD27ArRBu/4Q2zxBlyt/XY7Zc9wZ9KkrHJ45RSv+UGhOF06cgtT0gSgQzVRcyKTDn80B3FaUfhFelO9WLFpOvcth9sEV6bmy8qtLWfu997FGZp+qCLVNCpvHPXJbp91Pal08TJRt2+/jZtQd72AfTaribccDariTXWrPW3FgXMQar5tyfi/Jp3/0QtvaoxRtSQIm756RS ceZx22zE w2GM2YXWvYHh2bFirfLejAPcBGeXEIsG2/qsRhH/klRPBFNsEhtlh6Y9VReiSGXAvIGKasbt/fO5KmpP6rI/7GjQtex57acq4pUXU5QhwBCzTWA7VkO9GJ1KJHw== 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: XFS has an mrlock wrapper around the rwsem which adds only the functionality of knowing whether the rwsem is currently held in read or write mode. Both regular rwsems and rt-rwsems know this, they just don't expose it as an API. By adding that, we can remove the XFS mrlock as well as improving the debug assertions for the mmap_lock when lockdep is disabled. I'd like acks from the locking people, then it probably should go upstream through the XFS tree since that's where the patch series touches the most code. Matthew Wilcox (Oracle) (5): locking: Add rwsem_is_write_locked() mm: Use rwsem_is_write_locked in mmap_assert_write_locked xfs: Use rwsem_is_write_locked() xfs: Remove mrlock wrapper xfs: Stop using lockdep to assert that locks are held fs/xfs/mrlock.h | 78 --------------------------------------- fs/xfs/xfs_inode.c | 61 ++++++++++-------------------- fs/xfs/xfs_inode.h | 2 +- fs/xfs/xfs_iops.c | 4 +- fs/xfs/xfs_linux.h | 2 +- fs/xfs/xfs_super.c | 4 +- include/linux/mmap_lock.h | 2 +- include/linux/rwbase_rt.h | 5 +++ include/linux/rwsem.h | 10 +++++ 9 files changed, 40 insertions(+), 128 deletions(-) delete mode 100644 fs/xfs/mrlock.h