On Sun, Mar 17, 2024 at 8:42 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > Jan, > > Commit 082fd1ea1f98 ("fsnotify: optimize the case of no parent watcher") > has reduced the CPU overhead of fsnotify hooks, but we can further > reduce the overhead of permission event hooks, by avoiding the call to > fsnotify() and fsnotify_parent() altogether when there are no permission > event watchers on the sb. > > The main motivation for this work was to avoid the overhead that was > reported by kernel test robot on the patch that adds the upcoming > per-content event hooks (i.e. FS_PRE_ACCESS/FS_PRE_MODIFY). > > Kernel test robot has confirmed that with this series, the addition of > pre-conent fsnotify hooks does not result in any regression [1]. > Kernet test robot has also reported performance improvements in some > workloads compared to upstream on an earlier version of this series, but > still waiting for the final results. FYI, the results are back [1] and they show clear improvement in two workloads by this patch set as expected when the permission hooks are practically being disabled: ---------------- --------------------------- --------------------------- --------------------------- %stddev %change %stddev %change %stddev %change %stddev \ | \ | \ | \ 1.338e+08 +0.4% 1.344e+08 +0.3% 1.342e+08 +5.8% 1.416e+08 unixbench.throughput 5.759e+10 +0.4% 5.784e+10 +0.2% 5.772e+10 +5.8% 6.094e+10 unixbench.workload Thanks, Amir. [1] https://lore.kernel.org/all/Zfj3wxDHolB1qCGO@xsang-OptiPlex-9020/