Messages in this thread | | | Subject | Re: f_ops flag to speed up compatible ioctls in linux kernel | From | Roland Dreier <> | Date | Wed, 01 Sep 2004 13:54:33 -0700 |
| |
Chris> You forgot a driver specific filesystem which exposes Chris> requests in a file per request type style. Also, there's a Chris> simple_transaction type of file which can allow you Chris> send/recv data and should eliminate the need for tagging. Chris> Example, look at nfsd fs (fs/nfsd/nfsctl.c).
Thanks for the pointer -- I had a look at this stuff. It seems that using the simple_transaction stuff is fairly heavyweight -- if I understand correctly, every operation requires userspace to do open()-write()-read()-close(), and also uses a page of lowmem. I'm not sure if this is the best fit for our requirements with InfiniBand drivers: although the user->kernel calls are not in the data path, there can still be quite a few of them.
On the other hand, ioctl() holds the BKL through the whole operation so that's suboptimal as well.
Thanks, Roland
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |