On Wed, 2015-12-30 at 15:10 +0900, Nobuo Iwata wrote: > Originally, USB/IP transmits requests and response PDUs for > preparation > to transfer URBs in user space, after the preparation, URBs are > transmitted in kernel space. > > To make easy to introduce application network protocols like > WebSocket > and so on, the driver, usbip_ux.ko, forwards URBs to USB/IP user > space > utilities. It's just like fuse driver for user space file system. > Then, utilities transfer URBs in user space. Hi, this raises fundamental questions. Just like fuse you are importing limitations this way. Fuse cannot do shared writable memory mappings because the VM can deadlock if you drop the GFP_NOFS requirement. That is inevitable if you go to user space, as user space is paged memory. Putting a HCD into user space the problem becomes even worse. You cannot honor GFP_NOIO. That means that essentially no block device can run without the risk of a deadlock. It seems to me that the cleanest solution would be an additional flag to match requiring a kernel space driver would be the cleanest solution. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html