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 E0C33D3ABFA for ; Mon, 11 Nov 2024 23:40:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61BC76B0092; Mon, 11 Nov 2024 18:40:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5C9C66B00B1; Mon, 11 Nov 2024 18:40:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4443E6B00C0; Mon, 11 Nov 2024 18:40:07 -0500 (EST) 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 23D976B0092 for ; Mon, 11 Nov 2024 18:40:07 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C4E5280CA2 for ; Mon, 11 Nov 2024 23:40:06 +0000 (UTC) X-FDA: 82775434434.28.C9864B6 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf20.hostedemail.com (Postfix) with ESMTP id 733881C000F for ; Mon, 11 Nov 2024 23:39:13 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=K1T3oJTQ; dmarc=none; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.46 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731368318; 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=MfrZKwA8Q666Z7hBV0+zRbjc85gr+W93j+HNejLY+JI=; b=esAcvkQvH1OQ9snQqBlpddhDuZPmNULXm4rru0Lm+E/QtYmcIFAo/tYXNd+CtHeYJolFoo vhD/ti0HM4QOGS57//qGOUsfEtgk7g2/uvnJ3c3pSwGa+YdoyVyOILk5FhCB+Drf052QSZ d2cuLh2kEgTPwxNmQq/+y6Wpptymy9U= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=K1T3oJTQ; dmarc=none; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.46 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731368318; a=rsa-sha256; cv=none; b=GkTb+ST4QDdlHnpFrmFQD8Zy+Rg515PzFdyw7Qb7vFTepIPDgx04blp3s7RWi1S/XkZWet vIaLKF/3iPRtpvl7W1jkaz95GXsUXQa+UaV8Z1pMkM9HfMh7LlaIX7RD1HqHNa/gYawIuv uio/h+qm9/IVl0EAVY3XZpqlo2BHOFg= Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-a99e3b3a411so1046837366b.0 for ; Mon, 11 Nov 2024 15:40:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1731368403; x=1731973203; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MfrZKwA8Q666Z7hBV0+zRbjc85gr+W93j+HNejLY+JI=; b=K1T3oJTQwUpAg3EpHs9saeGCbXFEzRa/4UqOpaRFYaOwqF0+j2y9EtRKxuGW2/eAcJ QS2YND6Sqa59j0/pOMRtT95szFS+vnqSBciQkZ6LejdyphGspzFibpftznud/gEKddKs x39tS7xxaGp/F9wcTvAfvHFTqzbpS90tn+ZpI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731368403; x=1731973203; h=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=MfrZKwA8Q666Z7hBV0+zRbjc85gr+W93j+HNejLY+JI=; b=BmXhmFFjMHWGhRINTDH0zpvz5QMHUhNhFC9R/dO6SRZCO+VCK4+VFMFgd0OjBK9V5R X7dNeffrOlpf3aoG6UAfcTYHogTK8+FJNxRtvwLY1qfNEX0AJhAVCxW3B2ao59r+pu85 gzXWT/7qrYadKy3ctgVKi9WhZmn9lPOvWmo6b4w5iJZ2GPezXTQ1C0jEBrTrUOQh8Pgm ph+sA0SHG1KMqlz1xul+8BYLvyoWNFzSNKMRdZJRhDSaY/G6MphIODqnaoE0Y5Ng8F5l Tr6sdsqrlsNaHzUuNPzQvcVYr1fTrcNQJVYJQ1b50gu4oy5qKg7tGpCXSaMG6VX7ONXT RaRg== X-Forwarded-Encrypted: i=1; AJvYcCWdKb4KC6Yi/3VWl0rLQFnICwMO1zTyk9DH26kBAQXvmvX0PXLHe4iO+ug1lWocUVvY/wTt48fOCA==@kvack.org X-Gm-Message-State: AOJu0YzZqAveThuQvbdz50rOOlxy6LqIFJ3otbAKg7dWmoXePpQABc98 3G04OyxJCH0mgTfy0AcIb67Nx50LxiwYB5lWUQOiT5yPL2e9XGaBTzA/b880Tuh3Zj8Dl9JOiQH 21c4= X-Google-Smtp-Source: AGHT+IG2Xq3zHfMUOoMbSCArrG7+Eet7Dopy8p0ERQzkz9O2BVIFtxBhqNpCyjOVaOyZbXDQGg8Vjg== X-Received: by 2002:a17:907:7b89:b0:a9a:5b84:ac81 with SMTP id a640c23a62f3a-a9eeffe9032mr961684266b.31.1731368402945; Mon, 11 Nov 2024 15:40:02 -0800 (PST) Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com. [209.85.218.48]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9ee0a17b4asm640805066b.4.2024.11.11.15.40.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 Nov 2024 15:40:01 -0800 (PST) Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a99e3b3a411so1046833566b.0 for ; Mon, 11 Nov 2024 15:40:01 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCVv4dLb0edOGlRR9LkMO2ILXCK6uEYDkeZxwheOXkQASXIG0uAW+Mi/L2WILMyk6yfx+Z9H+13+/w==@kvack.org X-Received: by 2002:a17:906:ee8c:b0:a93:a664:a23f with SMTP id a640c23a62f3a-a9eefe3f3famr1355377966b.5.1731368401330; Mon, 11 Nov 2024 15:40:01 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Linus Torvalds Date: Mon, 11 Nov 2024 15:39:45 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v6 06/17] fsnotify: generate pre-content permission event on open To: Josef Bacik Cc: kernel-team@fb.com, linux-fsdevel@vger.kernel.org, jack@suse.cz, amir73il@gmail.com, brauner@kernel.org, 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" X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 733881C000F X-Stat-Signature: o4x77dqibnk5he58ns6kn7aegbwdynu7 X-HE-Tag: 1731368353-649902 X-HE-Meta: U2FsdGVkX18bXHfdza03X5jqJPD/TKMnJbHaItKWiiQkCRCnIp+AJQUXgQxnllxPPVw6u8VYEFrgI/HEfEnhAAeE+R1A67WOC/S71OfsnOaCvn8Sy1tIHmu5yDptQaEBnlOEFOX4tYjveBiYXvgHj3MXuIyhkt+FwrAWPjiomOixolxoqz07KagIghNghMoVBzC6w1sgobAHb82TMHeXRAd8pxN+O4U+MKxeE6eoTgIyQzzscda3zORl8cYj3ccvy+sVAC9YH/vaNrEmfFJUcE57UBgTMJiXlY87nVlYeTpMBmGLmZ/NxCzAn8mAHr/UYJDWxrTjWhAmmF3sulM//LfK3G4o3FrZtbSBKx8WHPqQ0IM6pKUAlRXDllOcNdQ42d5I055TkCWlokYp7umJtlne9WnRqb0TJEID5OMZ0xmYmiVFtYu7535AAXNpKxipQqGahOWHdKxsp6NM63fq6AVbFslR7Z7xbRtGZwABHOOqXCq1pg0MypBtiQYA0WcJFKYkUqdCCkdKURflLZwq4ApCtQzjdE5X6H05Pm9kI0e2KSNw7xUT3kafxt13pWo4kotdzzIhOTcnlOldABeX9UeXFE9e1ZHIbuZJHt+0R1KfYuUUq4f0IKaWUsEc8p8n59BJoSJXBMoYVV11S7X6RagPwmx9Gl7e4GI9STaEvMpVI8SvJzoIKHFNDOR0tiHxUpVvYhmVGhUCm3txeGScic+38r0BbojxAu4fZgSrtcUPKWKOH7CzGfrWH8i+ExuB3KgkW4O5OTvZP3ElkZHWapIFQkYqgq8CN4qHkdsu817C/YuuRYuRgeX1rnGUk2bULQqJvcsUzELbQfW40OqGgmr5F+S4NrHwgkBbjDplX9iHWX/F34LaUkpIMOCO3x5fLAtoaoLeIpNayiCDesFTViPQpIEbaZRo2jgTZl+RzDdjfNDtHJqivIfh6Wxr/Wi5cNP/ty5zwH5Kxliqa0P vyNc/Ohf 8o4fP+zH3BojuiaFm8eVzZfP2p9ud82VZCdmlxi3mHKBDTLvaF79a8rVHHzv0I7IS0m3UAEiffKPnIOiQMNXE5inGRr6zkICwcGluJnSEW4eDoRqUme3cRrhSe1baIL+sGcbvnrwx2bH3iEAVaZt13jznZNudJB7xEqgDORY/611Q0CnFeGlHUNmzgJEhE93UV+9WiPLbf6Ot6XAwI1za7zniNbeeyyAG6Hdtzxj2sL/ChQKxu2rSZX0iXFrlNYBA1zdfsXakIs4wncD2gJf+NAC/kj85F+OqjvnRMMXIUtKg8K6ZHM2bYZH0+jmKJ8RyBZRcTvcVXN57GVvF8E00o9nPUM9cBT21ZzY4JNM1yoJukqFasvSkkLjzIYQPP3UuCN4cmOGEQ4M8Y0ZlopPYegXBVyKy1e5kvQk0Xy0NyGxXDAkmuNvfaUV+4NWjPpzojoK7NofY2XO5SDUYuOMjWSOBHA0IPLuAxP6O8l317W3hre7rBP+E8Cfb+/jsfscOeQ604RTHw69RYQn8i9av2t9c0w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.185155, 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 Mon, 11 Nov 2024 at 15:22, Linus Torvalds wrote: > > See why I'm shouting? You're doing insane things, and you're doing > them for all the cases that DO NOT MATTER. You're doing all of this > for the common case that doesn't want to see that kind of mindless > overhead. Side note: I think as filesystem people, you guys are taught to think "IO is expensive, as long as you can avoid IO, things go fast". And that's largely true at a filesystem level. But on the VFS level, the common case is actually "everything is cached in memory, we're never calling down to the filesystem at all". And then IO isn't the issue. So on a VFS level, to a very close approximation, the only thing that matters is cache misses and mispredicted branches. (Indirect calls have always had some overhead, and Spectre made it much worse, so arguably indirect calls have become the third thing that matters). So in the VFS layer, we have ridiculous tricks like if (unlikely(!(inode->i_opflags & IOP_FASTPERM))) { if (likely(inode->i_op->permission)) return inode->i_op->permission(idmap, inode, mask); /* This gets set once for the inode lifetime */ spin_lock(&inode->i_lock); inode->i_opflags |= IOP_FASTPERM; spin_unlock(&inode->i_lock); } return generic_permission(idmap, inode, mask); in do_inode_permission, because it turns out that the IOP_FASTPERM flag means that we literally don't even need to dereference inode->i_op->permission (nasty chain of D$ accesses), and we can *only* look at accesses off the 'inode' pointer. Is this an extreme example? Yes. But the whole i_opflags kind of thing does end up mattering, exactly because it keeps the D$ footprint smaller. Linus