Re: [PATCH 5/7] FUSE: implement ioctl support

From: Miklos Szeredi
Date: Thu Aug 28 2008 - 14:24:24 EST


On Thu, 28 Aug 2008, Tejun Heo wrote:
> Miklos Szeredi wrote:
> >> If you're worried about the double copying due to performance reasons,
> >> what we can do is implementing userspace to userspace copying. I just
> >> took easier path of copying twice as u-u copy can't be done using the
> >> existing FUSE mechanics.
> >
> > How about not copying anything in the kernel, just passing the virtual
> > address to the filesystem? It can get/modify the data of the calling
> > task by mapping /proc/pid/mem. Ugly, yes, but ioctls are inherently
> > ugly.
>
> Hmmm... I was trying to stay within similar operation mechanics as other
> ops. Directly accessing the caller's memory has performance benefits
> but that benefit can also be used by reads and writes. So, if we're
> gonna do direct memory access, maybe doing it in more generic way is a
> better idea?

On the contrary: playing VM games is going to be slow. I think this
approach is best suited for generic ioctl support because it
simplifies the kernel part. I'd hate to add all that complexity to
the kernel if not absolutely necessary.

Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/