This series of patches extends number of ports limitaion in application
(vhci) side.
0. Version info
v2)
# Added static to some functions and variables not called from other
files.
1. Overview
This series conatins 2 patches.
1/2:
Extends number of ports using multiple host controllers.
'num_controllers=N' module parameter denotes the number.
The default is 1.
Number of ports per controller are extended from 8 to
USB_MAXCHILDREN(31).
It can be altered with -DVHCI_NPORTS=n at compile time.
2/2:
Event handling threads are used to be created for each port.
This patch aggregates them to one thread.
Rewritten with workqueue.
Assumed use case is a system that service in internet serves
distributes devices in home or office. In the use case, application
side might be needed to support more ports than 31.
Home/SOHO/Enterprise Intranet/Internet
+--------+
+------+ +------+ |Service |
+|device|---|Linux |---------------------------|on |
|+------+ +------+ |Linux |
+------+ controller +--------+
ex)
Device Service
sensors ................................... environment analysis
cameras ................................... monitoring, recording
ID/biometric readers ...................... authentication
To increase number of ports, existing implementation has an overhead
that event handing kernel threads are started for each port. The second
patch eliminates the overhead.
NOTE: This series depends on "USB/IP over WebSocket" patches.
*** BLURB HERE ***
Nobuo Iwata (2):
usbip: vhci number of ports extension
usbip: single thread event handler
drivers/usb/usbip/README | 3 +
drivers/usb/usbip/stub_dev.c | 3 +-
drivers/usb/usbip/usbip_common.c | 7 +
drivers/usb/usbip/usbip_common.h | 4 +-
drivers/usb/usbip/usbip_event.c | 174 ++++++---
drivers/usb/usbip/usbip_ux.c | 2 +-
drivers/usb/usbip/vhci.h | 41 +-
drivers/usb/usbip/vhci_hcd.c | 259 ++++++++-----
drivers/usb/usbip/vhci_rx.c | 21 +-
drivers/usb/usbip/vhci_sysfs.c | 298 +++++++++++----
tools/usb/usbip/libsrc/vhci_driver.c | 548 ++++++++++++++-------------
tools/usb/usbip/libsrc/vhci_driver.h | 38 +-
tools/usb/usbip/src/usbip_attach.c | 8 +-
tools/usb/usbip/src/usbip_port.c | 13 +-
tools/usb/usbip/src/usbipd_app.c | 56 ++-
15 files changed, 916 insertions(+), 559 deletions(-)
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html