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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to