RE: [PATCH v5 04/11] usbip: kernel module for userspace URBs transmission

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

> That question is how do you encode that limitation in usbip?

For example, usb-storge

0) without usbip

Application ... local machine
  -> File system
    -> Scsi subsystem (a block device)
      -> usb storage
        -> usb core
          -> usb host (ex. Ehci)
            -> device ... local machine

1) with usbip without this patch

Application ... local machine
  -> File system
    -> Scsi subsystem (a block device)
      -> usb storage
        -> usb core
          -> vhci as a usb host  -+
          --- URBs in TCP/IP ---  | usbip
      -> usbip stub              -+
        -> usb core
          -> usb host (ex. Ehci)
            -> device ... remote machine

URBs are transferred in kernel space between vhci and usbip stub.

2) with usbip with this patch

Application ... local machine
  -> File system
    -> Scsi subsystem (a block device)
      -> usb storage
        -> usb core
          -> vhci as a usb host  -+
            -> ux (this patch)    |
          --- URBs in TCP/IP ---  | usbip
            -> ux (this patch)    |
      -> usbip stub              -+
        -> usb core
          -> usb host (ex. Ehci)
            -> device ... remote machine

Ux forwards URBs to userspace.
URBs are transferred between ux threads in userspace.
If ux drivers (chrdev) is not loaded, works as same as 1).

Thank you,

Nobuo.iwata
//
> -----Original Message-----
> From: linux-usb-owner@xxxxxxxxxxxxxxx
> [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Oliver Neukum
> Sent: Wednesday, January 13, 2016 11:41 PM
> To: fx IWATA NOBUO
> Cc: fx MICHIMURA TADAO; valentina.manea.m@xxxxxxxxx;
> gregkh@xxxxxxxxxxxxxxxxxxx; Alan Stern; shuah.kh@xxxxxxxxxxx;
> linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v5 04/11] usbip: kernel module for userspace URBs
> transmission
> 
> On Tue, 2016-01-12 at 01:06 +0000, fx IWATA NOBUO wrote:
> > I understand that USB storage uses GDP_NOIO so copy_to_user URBs
> > causes deadlock.
> >
> > The situation of other applications than USB/IP may be different
> > because  only application data than raw URBs is transferred.
> 
> No, not really. You cannot put a block device driver in paged memory. It
> is a fundamental problem. That question is how do you encode that limitation
> in usbip?
> 
> 	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
��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux