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 25D65CA0FE3 for ; Mon, 4 Sep 2023 09:52:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B9B6280012; Mon, 4 Sep 2023 05:51:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 469F28D0002; Mon, 4 Sep 2023 05:51:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 331C0280012; Mon, 4 Sep 2023 05:51:59 -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 24C3B8D0002 for ; Mon, 4 Sep 2023 05:51:59 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E608A1605DD for ; Mon, 4 Sep 2023 09:51:58 +0000 (UTC) X-FDA: 81198448716.10.73A753D Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf28.hostedemail.com (Postfix) with ESMTP id 93E70C0012 for ; Mon, 4 Sep 2023 09:51:56 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GrBGNC0G; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of brauner@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=brauner@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693821117; 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=nvdtva1hYdUWD+pnWTLRf+gQ4cX6KfLw6V6ddu9SaA4=; b=g8pJBaatQpuQ6e5baYPpfyprKsG4ko3d30yz2NNMolN8NIsNpO2liVX+PVNAU4d+Cddy2+ i+JUgK/i1xFn1mxg9mAxMDOncypFfFPht5xvYBHSnxGTGLCbqCYBVDnaiAgmLfG6/Woqqu keTXLGDRtYvks39v0UeXZtcl+Lz0MLs= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GrBGNC0G; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of brauner@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=brauner@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693821117; a=rsa-sha256; cv=none; b=nDk4LqDy4NOojnYmrURUXl5CXWOdpdU6DRJqcw0YS/eHOGwdgcR2VM8DxUp4ZEHchxCylC ASN4Db9EJKAH62G6zcK0lbg+goOnp4atOPOhUEuM94bKqZbqgnMbCbE/S1nI0I2mP9ED1U YMxTfCcTS/6BKXbBRgWgmDPcXLMOhgM= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id C4EA7CE0E30; Mon, 4 Sep 2023 09:51:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B855FC433C8; Mon, 4 Sep 2023 09:51:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693821110; bh=u+xgETcg23UcZvAsSNoTKQTpoQDzWhh5CjfKLhaLfCA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GrBGNC0GUAEP92SVXDSYgvIeyQhEWu5ohv1UZxcq2j4jmPnZMVKVXd7PcLbrec+YC YwtxwrDnv2HUbxAauD5LP+iZpv1hgd3J7v5N5AFier00fzuLYjkXSyalNCln662qcL MOkKZFmfbFH61oxgNm/1PDUalOPIF/dG8en4lktLAOJKNet2WlaOi4SDB1WMRo8c1E Fx1ryvNUFvNi9qlIPKbaeTXq/1cJbp6vtXGsOglG9wRy2wFIevByTxjIps/B3VRZZs ZTGcqJO6bRRRPVV2zC3wt54/lylE+o7sVECKL3QKI1/oWONjJaYkFRkcM0vOKzehKT ynVVLBmYA4BCQ== Date: Mon, 4 Sep 2023 11:51:40 +0200 From: Christian Brauner To: Hao Xu Cc: io-uring@vger.kernel.org, Jens Axboe , Dominique Martinet , Pavel Begunkov , Alexander Viro , Stefan Roesch , Clay Harris , Dave Chinner , "Darrick J . Wong" , linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-cachefs@redhat.com, ecryptfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-unionfs@vger.kernel.org, bpf@vger.kernel.org, netdev@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-btrfs@vger.kernel.org, codalist@coda.cs.cmu.edu, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-mm@kvack.org, linux-nilfs@vger.kernel.org, devel@lists.orangefs.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-mtd@lists.infradead.org, Wanpeng Li Subject: Re: [PATCH 07/11] vfs: add nowait parameter for file_accessed() Message-ID: <20230904-trennen-gewettert-0b2dc5ba60bc@brauner> References: <20230827132835.1373581-1-hao.xu@linux.dev> <20230827132835.1373581-8-hao.xu@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230827132835.1373581-8-hao.xu@linux.dev> X-Rspam-User: X-Stat-Signature: zmso4amdkbd5133p5i45x8os3y6a4ss1 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 93E70C0012 X-HE-Tag: 1693821116-818101 X-HE-Meta: U2FsdGVkX1+XZPHf1NC/AOOnf4G1lhDx8lGZTd+bX1w2yDRn7uS/z3K8L1DIeYTNUbmTVRSEhbCPJbVO0koUYwu90p9riCqNzD/6izDzIzhZ2AZXdcomR0YdNU7DzOjCa51Vgp87aPW/bsBeitkE9N5/+lhQ+Pdeh+N50ztuwQZ1ASVMGj1qA2PzvQ5CiCATPBrKiIsgf0iiwIYRgtRfNBhEU2qRd/1jBhAveGntKVI4fJlpAS3wChi8ZLCJpE7JwPsXSmdASc1stsWmvta8zScK4rcWWcAoJow4y9Yh1trIzyhTxkD5n+rZolZSDa18Andz9UPJcupwkJl+kPm4zQcIN0Nzm7Q9i0UNpiZOOoUfafkfj7CYMyYE41e+k/H7ke+KUS3z4PnaPewFbmjYetRMbgJMnQawHu2J1ZWeFR3NFglM8cO9kxBP+anp7bfltZB1iMlpSL8VksXxFZQm7CiF0KnirbvtDPpJCIpKo3uCCYwRdhtu/IYgZzDi4DSa64Ip38MQKk8gkTCkgpRDPA5ENTvlDWgv/9agXFE1fQUjSgSfUjwYY4F+ijPKts8CF5tfGan/eCv93jvePYlNMVslFc+CCe5CuG/q5tYPYTeQsk/82znC8egs1HA1IkqR0Cre4mmGJzec3nvSt0tIsf2pW2CPsP0CbacLN3NTkIvyvzWIgajEVWYOJsZm39i3XqeAdSayCZOIf4zq7rVU7BnEJJ3zgnnJ8uzQXDioulMxAEV4zPZzkhebqZhPCW/x2W7nzOIEe1JUeUuiz+XVkZiz2D8Rulvfm5sjqxbWn50Ms6URR/b9Uor+tw1pxFR0cbaoXEAhMO4oAbyPmBSGJTVeoy379gAiynRC4fTiBSD0JDts2I7e2awNp7Sw8g023ManuQfGh4sJo9O+oVDwEj5DfzJPCzUv0kcasozKtAXjOPoDLtU0UJmZNds3/vFuea8Pq6MQYULwlhjFU+E 2qvAf0bp 8kgmSDUGVcu4inkIPIiKMK+bxuLQyVIfk9Go4tWmfqRs9eZQ7JI4Y7AoBdGUp1Fo06vn2D1Pn8gXocpyGZOniOVKP9PJG9cGsjBUaNGVttj3kF5TWr07/26xQO5sXxiweavF1DzZdyQUhUhWz2jzoE7tM75GZPfZOwrW8JWYnR+vyBBHzu6BhhXKFDCdLgdijTWV55rMx3gzZILsR+oiln0ermj+buwsMpy1JPd06CMNR+UZgHPUNfyd3XjAEk8X7pFUiUsxAmG3szofBAO94lBz5aDkXBWkoWvTYFOrRPxSYbbOYV7NGzicxI3JUWk690Y/F3YLuznKzEUbCYlM7ekUc3ZixTxSGbxr/Sq6z1h4ZJoSVQ7/rTcu+lnAMamvoPmnVZKZT6EyQpSX0ihZ+/meCRFCQCCz9O1ePITfgFzcds4M4j1g6iABNtJi6JKlwcYsd9+TaPMwVPHpPLAoicuY3hA== 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 Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote: > From: Hao Xu > > Add a boolean parameter for file_accessed() to support nowait semantics. > Currently it is true only with io_uring as its initial caller. > > Signed-off-by: Hao Xu > --- > arch/s390/hypfs/inode.c | 2 +- > block/fops.c | 2 +- > fs/btrfs/file.c | 2 +- > fs/btrfs/inode.c | 2 +- > fs/coda/dir.c | 4 ++-- > fs/ext2/file.c | 4 ++-- > fs/ext4/file.c | 6 +++--- > fs/f2fs/file.c | 4 ++-- > fs/fuse/dax.c | 2 +- > fs/fuse/file.c | 4 ++-- > fs/gfs2/file.c | 2 +- > fs/hugetlbfs/inode.c | 2 +- > fs/nilfs2/file.c | 2 +- > fs/orangefs/file.c | 2 +- > fs/orangefs/inode.c | 2 +- > fs/pipe.c | 2 +- > fs/ramfs/file-nommu.c | 2 +- > fs/readdir.c | 2 +- > fs/smb/client/cifsfs.c | 2 +- > fs/splice.c | 2 +- > fs/ubifs/file.c | 2 +- > fs/udf/file.c | 2 +- > fs/xfs/xfs_file.c | 6 +++--- > fs/zonefs/file.c | 4 ++-- > include/linux/fs.h | 5 +++-- > mm/filemap.c | 8 ++++---- > mm/shmem.c | 6 +++--- > 27 files changed, 43 insertions(+), 42 deletions(-) > > diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c > index ee919bfc8186..55f562027c4f 100644 > --- a/arch/s390/hypfs/inode.c > +++ b/arch/s390/hypfs/inode.c > @@ -157,7 +157,7 @@ static ssize_t hypfs_read_iter(struct kiocb *iocb, struct iov_iter *to) > if (!count) > return -EFAULT; > iocb->ki_pos = pos + count; > - file_accessed(file); > + file_accessed(file, false); Why? If all you do is skip atime update anyway then just add something like: bool file_needs_atime(struct file *file) { return !(file->f_flags & O_NOATIME) && atime_needs_update(&file->f_path, d_inode(path->dentry)); } and then if (file_needs_atime(file) && IOURING_WANTS_ASYNC) return -EAGAIN; instead of touching all this code.