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 BCF54C001DE for ; Tue, 25 Jul 2023 14:31:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 394728D0002; Tue, 25 Jul 2023 10:31:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 344BF6B0075; Tue, 25 Jul 2023 10:31:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20C388D0002; Tue, 25 Jul 2023 10:31:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 10E6C6B0074 for ; Tue, 25 Jul 2023 10:31:40 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B82E41A0D2A for ; Tue, 25 Jul 2023 14:31:39 +0000 (UTC) X-FDA: 81050372718.27.FCCE445 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf08.hostedemail.com (Postfix) with ESMTP id 7B081160036 for ; Tue, 25 Jul 2023 14:31:23 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VTI0Ohyl; spf=none (imf08.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=1690295484; 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=V4bk2VLThmhiGf/np0YjK8qbCseKe119AZNKpP8acYg=; b=rt437eV0/pGMnx4qPss3hdYTP/+K7EUEaCUqSMx9dG7vY3FPjtgM8BivPSzMggA8CccQhx DpM/qmrK8PeGOPdxpWaoDp4ZMli3tZ3+v/tzpZn+szy1PbU7tLuPa60daB0bggb6RGK6Wn C5CZuamL/HRPyhikKlZ3lMbBNyp31pA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690295484; a=rsa-sha256; cv=none; b=UQcvXlBy/osiSiw2jwM6Ghkjo1jOapl4UCIxC1Ms80i4NT8S5GPaocgib9RUZVcWPlaoAh flh1HHkT+to/BH92jduSZ1zw8e7upgI2mmLXMJNPQ4ZE7EdcXQ0+SDxYNUl6Qzdvz6PAXM T6b9bcBUpDA6O0Js3OqPh16PN2lJV24= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VTI0Ohyl; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=V4bk2VLThmhiGf/np0YjK8qbCseKe119AZNKpP8acYg=; b=VTI0OhylsQTxXMA/RSk9xXGTtJ HQhelkeNA2AgiHFa2Qq6TzffrLJJxOa0YWQmoJTEl63npJJvULOH5ed3k/yewLseqnQ89yz4JTOvX CIp3Arkoji/Q0K6zCngLgIjwUbnhUrnYYsWTGwInvLH9KvpBGIiNR4yD/Ar42BibptGrY7NZyLg0f ODF3A8Ep5esjcoMn/xr5imfQTBfCvZhPoVOwUbQ0PC+PN+OQ22ytOzTzkwlcaQY2SjbH0gisuuHiB Ra+pT9oIdmvFBrKJvOBrlqwnj1qvKpUGjE/vO+ewXnAOxHs6eLlbE6vwAj5pHo0VpudxLXFCUpUA2 x5IPw1Gg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qOJ4H-005YH3-6X; Tue, 25 Jul 2023 14:31:17 +0000 Date: Tue, 25 Jul 2023 15:31:17 +0100 From: Matthew Wilcox To: Suren Baghdasaryan Cc: Conor Dooley , Andrew Morton , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Punit Agrawal , Arjun Roy , Eric Dumazet Subject: Re: [PATCH v3 02/10] mm: Allow per-VMA locks on file-backed VMAs Message-ID: References: <20230724185410.1124082-1-willy@infradead.org> <20230724185410.1124082-3-willy@infradead.org> <20230725-anaconda-that-ac3f79880af1@wendy> 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: 7B081160036 X-Rspam-User: X-Stat-Signature: fkrmgbmu9yjj4fctdyguhpk6fn9mjsia X-Rspamd-Server: rspam03 X-HE-Tag: 1690295483-254247 X-HE-Meta: U2FsdGVkX1/p3PkwZmYLhE4qry2U8gzx7Dc2SGhZSp0aAF3y/QqP9j1y3RpAEEvGXv2G4+265wR9YK04xfQ0zC+JPdbRORqbXBwHvu/gAzWjF4Db9EUsgC8k3un6quRjj37aWRk7p6a0CRjTm1pXvm5Jbn0baXpXWwPH39YkoXMIxwLRExAF1C7UvwRhSENAxOv7Eq1TdbMzMG3lLskQcgzugSrV5Qunaq/XiWsYnJ84jq1EBoHt9/iWvlQ+SGgjQE0hIiXUrivtlSsZG8X5pJh5qHhqkN1hgu0Zp986YDCSYwDEhZ07s0UcDkBrjY//tJUWDP0W0+AOlMbU20/4d2X85HGO9/PgI+wswR7+0mmWd5GG0bJFnK6/yWe3RkbLsJVbzpKsi9/lLmb8xHpSgZZOxN2Pr5RUeaqX1QDk8MwZF33OaQhQ42NqcbhXQfEwD6/kuwkjS2Oix/1zZ8ak6AEhMmLWAlmiZjTwxiUgJh2cSWbj133sCfz71FWlS2yt9VytRRWfiCzq+oBREvcyW4RKUbSfUBIi7IVvXf8zF8oJzDFGqkVZxnbtBnij2xu9OkG56Ti9bbzO1Av7Vc1LpIxXZBNtfS6kCFdQa5jnNDaawwSA8W5jKsVbX77eFu5hMa+UdOvloGc0JyC8QysEVMQFIhWK9K3x+lto2FYXiZC346qOSO18SK9IPenw5FC+Jcgw4QApIdAZee6tuNAL1LMTi4NnQdYCeaDgx8TEFJNIF8O0kUotVuL5MJsIRP6jQOorFgRmRW9A4kLH5blT6pNkWoVZOe2ovRWnismmD5/qs5qJRoWjdcXp1WQBJTpvZWVU2Sb6d+OMCrh21sTo+RhUFdkBHk4apmiqeqrruTxJRdvmGUeLgnyH5ACu93a3s5UtxmT3qGeECla6+NrZRa8fk+r/pxidfN7iVBTsjWqirClk7gyqRQfnCNwOhvn65SN4OjIc7ieSTx4Q9kb WOwVXYIj KpJIpBDgA34bE/4stFrBEnWnRfDhspisHqFiX2txI1+29LQqTv2pFVHyWqL/mRbmOVrKP820gVkuNn+Wc3xL5Tdi48spdj7WE1w7mlcWPohS1HkIIeiLhIG+pRAl+RIUJ/xQ6yxpdEvDba3NfRa04HpUCYZ4UaBlDvFRz2Fw5oJc8m+InZwQhfQNZn9ornPXFG0muJCH61N8wBCxLVqYnh6xrMl/G6LZyrJzsr286LnDDFGw1mvWY0KmYeT1VDT3WEGy4/qNKv3GFE1N/r13uiBXwxQ== 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: On Tue, Jul 25, 2023 at 07:15:08AM -0700, Suren Baghdasaryan wrote: > On Tue, Jul 25, 2023 at 5:58 AM Conor Dooley wrote: > > > > Hey, > > > > On Mon, Jul 24, 2023 at 07:54:02PM +0100, Matthew Wilcox (Oracle) wrote: > > > Remove the TCP layering violation by allowing per-VMA locks on all VMAs. > > > The fault path will immediately fail in handle_mm_fault(). There may be > > > a small performance reduction from this patch as a little unnecessary work > > > will be done on each page fault. See later patches for the improvement. > > > > > > Signed-off-by: Matthew Wilcox (Oracle) > > > Reviewed-by: Suren Baghdasaryan > > > Cc: Arjun Roy > > > Cc: Eric Dumazet > > > > Unless my bisection has gone awry, this is causing boot failures for me > > in today's linux-next w/ a splat like so. > > This patch requires [1] to work correctly. It follows the rule > introduced in [1] that anyone returning VM_FAULT_RETRY should also do > vma_end_read(). [1] is merged into mm-unstable but has not reached > linux-next yet, it seems. No, it's in linux-next, but you didn't fix riscv ... Andrew, can you add this fix to Suren's patch? "mm: drop per-VMA lock when returning VM_FAULT_RETRY or VM_FAULT_COMPLETED" diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c index 046732fcb48c..6115d7514972 100644 --- a/arch/riscv/mm/fault.c +++ b/arch/riscv/mm/fault.c @@ -296,7 +296,8 @@ void handle_page_fault(struct pt_regs *regs) } fault = handle_mm_fault(vma, addr, flags | FAULT_FLAG_VMA_LOCK, regs); - vma_end_read(vma); + if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED))) + vma_end_read(vma); if (!(fault & VM_FAULT_RETRY)) { count_vm_vma_lock_event(VMA_LOCK_SUCCESS);