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 6203CD711CA for ; Wed, 20 Nov 2024 16:44:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2E3D6B0099; Wed, 20 Nov 2024 11:44:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DDEF26B00A0; Wed, 20 Nov 2024 11:44:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C7F4A6B00A1; Wed, 20 Nov 2024 11:44:11 -0500 (EST) 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 A8E356B0099 for ; Wed, 20 Nov 2024 11:44:11 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 585E1C0DE2 for ; Wed, 20 Nov 2024 16:44:11 +0000 (UTC) X-FDA: 82807043550.19.F0D9055 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf03.hostedemail.com (Postfix) with ESMTP id C9E5B20005 for ; Wed, 20 Nov 2024 16:43:45 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eNggBDbH; spf=pass (imf03.hostedemail.com: domain of amir73il@gmail.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=amir73il@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732120804; 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=rWVEODKI+88+Agjr2ZU2Q9hWiLJ3T/8rKLt5bQ4kjxA=; b=c4/0KsRBd/ObrSnAqlDA/ZcoT3guZl1t96OzLbPs4fOx8dMUe4CQ2b59Z+Hvr0w5wxJP8f VmBrCJH6I2DerWwaLeIHwWD77KxZxmEPCMEEugzlG0BW/uFQn+8H0G4k4Ff+5+At7mx9Qw gFL9gQBd6z334ZOJINQFkPV5Zc+aZeY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eNggBDbH; spf=pass (imf03.hostedemail.com: domain of amir73il@gmail.com designates 209.85.218.50 as permitted sender) smtp.mailfrom=amir73il@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732120804; a=rsa-sha256; cv=none; b=p2JRh05w040DC49JE/+rH5wrpcjEETQ7IEOCeGZAvtwOEcXMLGEruZWEi8LHoYItChQ6DY EBWzlSf2SnlMRM7MQvVszJVYOBmZqnZQfbbK34HuO3qJowG32TaLdOBAoPxLCclbedeEyI BFkhNI5enW1VKRDjBfSSmNC2NXeZgpI= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-a9f1d76dab1so1149779366b.0 for ; Wed, 20 Nov 2024 08:44:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732121048; x=1732725848; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rWVEODKI+88+Agjr2ZU2Q9hWiLJ3T/8rKLt5bQ4kjxA=; b=eNggBDbHNs04u2WaA4conl6P9gPnZHTjBdR6ligxXUxR4V+XwbVOGDzx4OaYdohzEn FH85Vu5EU/20wR+OcFZM5OKK4IN6CpZZ/bpNE57bx0aGWw536bSK4MqfcBsadDc0I/41 t3WfHUzIqxCYG1ta1gr/cIGw7RIpWBZGh0bPZj0bFKRfy0LaTYZc/U8QavoeaOYC3YG4 jsJok3cMQp/SYi4IA337g9Duscw1kLsgbl+H0brj3C6K98j3DgX9ifKrIriWKgI8xwFZ IqY/qSa6Dt8hP3pdZAM6cV35sJplzJPpNYMKIBy6y324ms6Xa7QcuMjHgsiwctP2MA+U SBiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732121048; x=1732725848; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rWVEODKI+88+Agjr2ZU2Q9hWiLJ3T/8rKLt5bQ4kjxA=; b=UQhv2fPQruMsUTAFFOOo63G4RDnjP6GA44652LZ5Ms3xRtGDT5UdsAadzww+i+UKCM rQ0LYSN7LREoi/l+mscF8RAqWh7K2XR5NV72+MqUkYnh4j9lnL7RBjkviCgexu9cjo/A LXxz7cCjPSf7mLj36l8z1hBkPoksrBjGx4GbiTqJBc0pvjT7fcAa/l/sY3M/h6sFWGV9 W1ZZZoMaxZtipiH33Q6RHW9WI4UNaowga/QbP53ATxyDRfhqHM48dkOA+KtCS7C6QDzc P9/PJ5a35uyyBF8+C9PK3eKnBDgXUFIvY4H5uTrThDEITYY8Tq0hwEQ8Wa9Y+ddWMZbF JWcQ== X-Forwarded-Encrypted: i=1; AJvYcCUh7EJtUaukr2psOrFUiUJlbLINrhHeGCVmOaY9WII0scWffMuGPJ4QOnMLkvrJWUYswvTzN5KV5A==@kvack.org X-Gm-Message-State: AOJu0YzsjBXdBk9Clc2ZkvIxO3iqmqc1rDk1ym9fRD29aGUjpMZ2DK3y gb490lvD5aa63i3vQmE75CdwIKVxWJwvthY71lFqvOpcmD+RY81LunWub1wPcwetIBagj2Z4iyA 1CoqxftvpcjSgXQPl2ibhITmtA4U= X-Google-Smtp-Source: AGHT+IFRj2qVclJYRDudeqZEjpO92T0D0Sk7p9QgbbdfOz7d553nkrCjYZfuL1UJBGykslPgM/P8DEqHCvh1hl8Y+bU= X-Received: by 2002:a17:907:7287:b0:a9e:c446:c284 with SMTP id a640c23a62f3a-aa4dd761e13mr357796566b.55.1732121047806; Wed, 20 Nov 2024 08:44:07 -0800 (PST) MIME-Version: 1.0 References: <657f50e37d6d8f908c13f652129bcdd34ed7f4a9.1731684329.git.josef@toxicpanda.com> <20241120154448.onc2q5rsusfs4zsm@quack3> In-Reply-To: <20241120154448.onc2q5rsusfs4zsm@quack3> From: Amir Goldstein Date: Wed, 20 Nov 2024 17:43:56 +0100 Message-ID: Subject: Re: [PATCH v8 13/19] fanotify: add a helper to check for pre content events To: Jan Kara Cc: Josef Bacik , kernel-team@fb.com, linux-fsdevel@vger.kernel.org, brauner@kernel.org, torvalds@linux-foundation.org, viro@zeniv.linux.org.uk, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-ext4@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C9E5B20005 X-Stat-Signature: szhhef4i6pn5ew1szsmdjnbrsds9hu1z X-Rspam-User: X-HE-Tag: 1732121025-23949 X-HE-Meta: U2FsdGVkX1+BZ6D9uMWPgkUQPebfZGjcJm333kTvwjg3s71pTIxntBOZ9Hn9yhu3+RZeLl1QtaAxYrl9Sk/0pP63CreWVO/pfPkMpb+2tPcmDtZWU9yrJ0Vnc2tDRCE727d2LrzjrtjSxeryMFtIEM5dYq2iDIzsXGjhYqLvnTTO60N6FRkWQUrFrow9XgQOHzuQyN7KG1Ds1mwwNOK+8+tAU0RmI+v97IGKya5lwegYuJaLcRFt1a1zbtS3fN4Pd59kKDU0yuxbz/7kbGzNMqp50dsn29cVMY6eeWiZpXqsqTJeURYs97t4U2t72P+KjnyxAJ25k4WfIfMb9/JZ/HzcCNh5LF9Io2CZ9k5cXPwU//Cn6OzHS3KOvfx0xmYEf/f2i6lJQSYVJRDnsBID0lrOLGEt0wyqMXubZu224WjTwXKFIjUdZfB25JS/tJ8QTY59tV6p8C0/U2FR8A6QAJOn9Jj/YA7DnzgBZY+Rc0i4XzswEC/eHDimRC8zlwdCSuXoUHobTeu2+YIp+m6bqaOxUYKPls6A4Ac4EdFGBJtIT12wHzVxhZNy/phnAhoqR9ewSeHKCAunE9XSj8NAQrXhiY8d6dTUB/5Vbz5W3GRmLFIP8htpgYhuf+LbjBYxlacTBE4zzZROfwg/4Ipt7p92rMCnIc7dtJfanU+EG7fMzWZGWGBNnoMclAl/n5+857WpP+4kpnD9r2/WM0RfC7BFQIfSAN6prH7OjVnwy9aWTAfYZKfbfJxIcPMlVrqPJI31yIR8b8Q4J2f4/KOR0sepzeivwtB7wm7X8/1JFD1l2VnpEt7KAa50VnILk4FQH4NGz5ndX/2pjyaenHTxe/5QAEpvjc0cB8yZccheRuVnQxHgB4ds/NnroNMIf94UEJb5ZBr2s9IzqHuOczAjHo/gYzOSL7ghbmZDqDowB5WdpHxHbwlU30l1hZIOOxGKCX4DI7nE84saU19lfFr wlNTKOzf QjkLBBNDEdV5/Ly4bbo5H1aZqs6QkpxLCGxDLf/MMBIxzOu0UDz0KX1ryEbQT+f/KqEbtpXv3U6jljhD2pazyFChfCBmjQ8byRXARdjoQMTNf7pDyvCk1bwZeyUV1FjRDk+o7WekWUtrDExyfxo4qwu6PBwcC7232vPa9QM22iWV7RaCF8nPAdEWy+fcszhd0Sh2ApFwanPpvP1RcYhdpuC+PfIp618ANg4XFiRPFJSYrTQh5fu4dIvV8wDSFlHfTw5swYPqGHa/ZS/0L0lUxma0N3ZEPAWEyR5ZRmVVrkhv2JHX4olP/SZt7LNwlAG269O9egsNxwe5NbovY2GV9LaIIkQQrlbKDqxYoh/vB7qFj9dlBXCGk9TjK1rcGIA3+SzlPM9XvMZnV4jViMzhRbX4Psw== 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, Nov 20, 2024 at 4:44=E2=80=AFPM Jan Kara wrote: > > On Fri 15-11-24 10:30:26, Josef Bacik wrote: > > From: Amir Goldstein > > > > We want to emit events during page fault, and calling into fanotify > > could be expensive, so add a helper to allow us to skip calling into > > fanotify from page fault. This will also be used to disable readahead > > for content watched files which will be handled in a subsequent patch. > > > > Signed-off-by: Josef Bacik > > Signed-off-by: Amir Goldstein > > --- > > include/linux/fsnotify.h | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h > > index 08893429a818..d5a0d8648000 100644 > > --- a/include/linux/fsnotify.h > > +++ b/include/linux/fsnotify.h > > @@ -178,6 +178,11 @@ static inline void file_set_fsnotify_mode(struct f= ile *file) > > } > > } > > > > +static inline bool fsnotify_file_has_pre_content_watches(struct file *= file) > > +{ > > + return file && unlikely(FMODE_FSNOTIFY_HSM(file->f_mode)); > > +} > > + > > I was pondering about this and since we are trying to make these quick > checks more explicit, I'll probably drop this helper. Also the 'file &&' > part looks strange (I understand page_cache_[a]sync_ra() need it but I'd > rather handle it explicitely there). Makes sense. Thanks, Amir.