Re: [RFC][PATCH] inotify 0.10.0

Andrew Morton
2004-09-30T01:41:18Z

John McCutchan <ttb@tentacle.dhs.org> wrote:
>
> On Tue, 2004-09-28 at 15:08, Andrew Morton wrote:
> > Ray Lee <ray-lk@madrabbit.org> wrote:
> > >
> > > The current way pads out the structure unnecessarily, and still doesn't
> > > handle the really long filenames, by your admission. It incurs extra
> > > syscalls, as few filenames are really 256 characters in length.
> >
> > Why don't you pass a file descriptor into the syscall instead of a pathname?
> > You can then take a ref on the inode and userspace can close the file.
> > That gets you permission checking for free.
> >
>
> I don't think moving inotify to a syscall based interface is worth it.

That wasn't my point.

What I'm trying to get away from is this passing of full pathnames into and
out of the kernel, whether by syscall or ioctl. It is a poor interface
and, less importantly, is slow.

And it is slow on the common (notify) path! It's worth adding additional
setup overhead if we can make he event delivery faster, no?

> First off, on startup, this would require about 2k open() calls,
> followed by 2k syscalls to inotify. Not as nice as just 2k ioctl()
> calls.

There's probably not a lot of difference, even if all those pathnames and
inodes are in cache.