Message ID | 20240317184154.1200192-1-amir73il@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Further reduce overhead of fsnotify permission hooks | expand |
On Sun, Mar 17, 2024 at 8:42 PM Amir Goldstein <amir73il@gmail.com> 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/
On Tue 19-03-24 11:59:11, Amir Goldstein wrote: > On Sun, Mar 17, 2024 at 8:42 PM Amir Goldstein <amir73il@gmail.com> 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: Patches are now merged into my tree. Honza
On Thu, Apr 4, 2024 at 5:34 PM Jan Kara <jack@suse.cz> wrote: > > On Tue 19-03-24 11:59:11, Amir Goldstein wrote: > > On Sun, Mar 17, 2024 at 8:42 PM Amir Goldstein <amir73il@gmail.com> 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: > > Patches are now merged into my tree. Yay! If possible, please also push fsnotify branch. Thanks, Amir.
On Thu 04-04-24 17:41:18, Amir Goldstein wrote: > On Thu, Apr 4, 2024 at 5:34 PM Jan Kara <jack@suse.cz> wrote: > > > > On Tue 19-03-24 11:59:11, Amir Goldstein wrote: > > > On Sun, Mar 17, 2024 at 8:42 PM Amir Goldstein <amir73il@gmail.com> 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: > > > > Patches are now merged into my tree. > > Yay! > If possible, please also push fsnotify branch. Done. Honza