From patchwork Fri Aug 18 20:23:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13358316 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 6AF80EE4992 for ; Fri, 18 Aug 2023 20:23:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0018C280068; Fri, 18 Aug 2023 16:23:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF37F280067; Fri, 18 Aug 2023 16:23:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE23A280068; Fri, 18 Aug 2023 16:23:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CE532280067 for ; Fri, 18 Aug 2023 16:23:46 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A31C91211FE for ; Fri, 18 Aug 2023 20:23:46 +0000 (UTC) X-FDA: 81138351252.15.96F9CD9 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf07.hostedemail.com (Postfix) with ESMTP id 0191340015 for ; Fri, 18 Aug 2023 20:23:44 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=wJaOezrc; dmarc=none; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692390225; 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=FmYJyBYzvhG3wValUzNY8dUgYUecine+5pZOXDsFsYM=; b=yEmfh0buwvvcP01sDXUOAxcyWwkX/e06/4Xta0NhL63GEPF3x3/4IY+mcEiM/qHvdfpQ8l Js0Z4ZJlzXsdKdsMdGhjmEGDuQ3t24/tOOSqlcie92pUjn/RxdHY461GP+eXKNt/OoAdxV 76ldbjFyOoOtKZMmtKwGB9GJO4U760k= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=wJaOezrc; dmarc=none; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692390225; a=rsa-sha256; cv=none; b=Ccg0SbOjkTPLTiJeBOcw0VkEDGKOxrN5vKVFD+L8uKFLIjmPW5qZCGRUzEuSlabxC8W/5T YjinlmAvmJQ34V11o3ZMzDtlFwSV8oTWD2mXetT15vLYmMqi0BLjd+bmM6b7GkqONJGBeC tspsH9ryvMAqkx4ZvcDhs49ASM9NvRI= 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=FmYJyBYzvhG3wValUzNY8dUgYUecine+5pZOXDsFsYM=; b=wJaOezrcCX9nrdxJH4xApMr1gW +iN3bfvt4WZ21cRxK0EXjQ1UnMr7iOBld5L8Vp0y4uRDJt5tyLuBIBms+BXTVeu5u0BzmEAbI+9n8 6Hoa+gQJc09tQczo44hpZ7T+hfM07gaFKov/9kgbP88tCG03DmbHo0K9bgG4K54ubLPAYFSMCHLPr +sIeZGKOAObkusTHDx9hkZpSL4udysPN4SgtoqPsy9FsxpNodafTZCvikUeBzJVUF+m64cy2hBvsU nib2W5GjI3ufdIBaEQQF9KFzIHH16AlH7J99rrmpn1WGCjkJWOOFr0uhRz05WPl+y89chmVijoVoL dAax1EIw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qX60O-00BUiQ-UI; Fri, 18 Aug 2023 20:23:36 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Subject: [PATCH v2 0/3] Change calling convention for ->huge_fault Date: Fri, 18 Aug 2023 21:23:32 +0100 Message-Id: <20230818202335.2739663-1-willy@infradead.org> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 0191340015 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: dgwipnr6ttttqnu3irwaobnzer4ub6wk X-HE-Tag: 1692390224-161202 X-HE-Meta: U2FsdGVkX1+ExHhuMh3Mpm0jGSX2hiZxYeZyXnXppougdHC5FFAt9FKOt5jlD8/cE6Kf6lVJz/hDVj9o8CLf2SEVdnzdqTnSKQoBZ1JtsZSTZCLwIIvk8Xl/lgXj35OrBXG/heOjhhjVT8F+s3SIhGZBzchuTzi+2dlkWovzs3o6Ltj2zV2DoymtvykxK/MT/jLATvv3k6HI03mAvlQ/k/oiD5/giA2wEvlMnxTaXcV4AWF2Ev25IaUbFIu5BHU5RRHNDzGzaypEJ3OibDfL/SDRUrH5vaWxlEkwNPCzqKWgegu4l6IYH2wN80bpABBe63PhEXPKqe1NDHBr3SxO7kTeEBWgGgj0oVEkj2apa9f7Nz9RuDaE7zP8kIGbPxs/rncP35QXPBThoyR0OjsDtBl9pZQRzQGkJiekbu9t/bWgAZljeWRM9RNwawC0QoCbraouI2aouxUs3/6LDpSmFe9EYCJVdHZSYidGQXyiiK/Vja2P6geOJTOCwdrGKSNlSLh73z6S1ZsLYHUrDy0kjrYaO6ga7bkxZ6fC2rWYDCJNPTeLYR2SMHlUzEuZAGt/cO+9BSFITp6Fi+0IdOqOhCFwb9tsny3+5wzQtbCJu1vLopqVTQqs6sedKGSWAtug7lzjdWyeoHI/lliHk8+6qxV/1QuzYyQJPgHjKe+c1LkE/dinL8GVgrxJK5Q8Cxqtk88+k2txTzddfrO5Y72oqhuNC4loeqWvFb4k0HVqZBE67QGPYPpEWtBlO9P4x+skujNwucdqvMq8jS0Mf+kZ+GuOlix1ftQc168PyKeGn2Da8pYmnDMb0zosJt3Tm4LD28uUaGG8VQPAmwT9Ctnma/rb8XfiNZb08M3zwfEO5T66V4dFyGZCcH8zCrfhYpJB5zpT5O6572iD1bRZbHokmAM4kj7FizqdtXtX43LEpGW4+ZKNEvY8KvEa6M3YZPvCcSGFeoj6uG1qgRcm6Wk r3NPNCJe RbIbIQ2TT4ReAn+8l+N2E9Wwk5/3SaWl6o6W/UkShxLGOIo7mdpNKWDN1HGsqkedOE0YiGP5IOEBjrzSw7X5LyW5Qe7TLWKgYBK4A/ehqu/IQe1rohvcBZ2dOeSXh34iyNpGpiapm5IXig8MoybMsfSDcn4Z72ftDHE6H6mC1a+i5a6k= 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: There are two unrelated changes to the calling convention for ->huge_fault. I've bundled them together to help people notice the change. The first is to improve scalability of DAX page faults by allowing them to be handled under the VMA lock. The second is to remove enum page_entry_size since it's really unnecessary. The changelogs and documentation updates hopefully work to that end. I vaguely contemplated introducing PTE_ORDER to replace use of the bare '0' order. I'll happily do it if anyone feels strongly about it. v2: - Split into three patches - Use PAGE_SHIFT instead of PTE_SHIFT to fix build errors on hexagon & csky Matthew Wilcox (Oracle) (3): mm: Move PMD_ORDER to pgtable.h mm: Allow ->huge_fault() to be called without the mmap_lock held mm: Remove enum page_entry_size Documentation/filesystems/locking.rst | 36 +++++++++++++++++---------- Documentation/filesystems/porting.rst | 11 ++++++++ drivers/dax/device.c | 22 ++++++---------- fs/dax.c | 33 ++++++------------------ fs/erofs/data.c | 6 ++--- fs/ext2/file.c | 2 +- fs/ext4/file.c | 11 ++++---- fs/fuse/dax.c | 20 +++++++-------- fs/xfs/xfs_file.c | 24 +++++++++--------- fs/xfs/xfs_trace.h | 22 ++++++++-------- include/linux/dax.h | 4 +-- include/linux/mm.h | 10 +------- include/linux/pgtable.h | 3 +++ mm/memory.c | 30 +++++----------------- 14 files changed, 102 insertions(+), 132 deletions(-)