Messages in this thread | | | From | Amir Goldstein <> | Date | Fri, 12 Jun 2020 12:52:28 +0300 | Subject | Re: [PATCH] fs: Do not check if there is a fsnotify watcher on pseudo inodes |
| |
On Fri, Jun 12, 2020 at 12:26 PM Mel Gorman <mgorman@techsingularity.net> wrote: > > The kernel uses internal mounts for a number of purposes including pipes. > On every vfs_write regardless of filesystem, fsnotify_modify() is called > to notify of any changes which incurs a small amount of overhead in fsnotify > even when there are no watchers. > > A patch is pending that reduces, but does not eliminte, the overhead > of fsnotify but for the internal mounts, even the small overhead is > unnecessary. The user API is based on the pathname and a dirfd and proc > is the only visible path for inodes on an internal mount. Proc does not > have the same pathname as the internal entry so even if fatrace is used > on /proc, no events trigger for the /proc/X/fd/ files. >
This looks like a good direction and I was going to suggest that as well. However, I am confused by the use of terminology "internal mount". The patch does not do anything dealing with "internal mount". If alloc_file_pseudo() is only called for filesystems mounted as internal mounts, please include this analysis in commit message. In any case, not every file of internal mount is allocated with alloc_file_pseudo(), right? So maybe it would be better to list all users of alloc_file_pseudo() and say that they all should be opted out of fsnotify, without mentioning "internal mount"?
Thanks, Amir.
| |