linux-stable/include/linux/usb
Johan Hovold 27c7acf220 USB: serial: reimplement generic fifo-based writes
Reimplement fifo-based writes in the generic driver using a multiple
pre-allocated urb scheme.

In contrast to multi-urb writes, no allocations (of urbs or buffers) are
made during run-time and there is less pressure on the host stack
queues as currently only two urbs are used (implementation is generic
and can handle more than two urbs as well, though).

Initial tests using ftdi_sio show that the implementation achieves the
same (maximum) throughput at high baudrates as multi-urb writes. The CPU
usage is much lower than for multi-urb writes for small write requests
and only slightly higher for large (e.g. 2k) requests (due to extra copy
via fifo?).

Also outperforms multi-urb writes for small write requests on an
embedded arm-9 system, where multi-urb writes are CPU-bound at high
baudrates (perf reveals that a lot of time is spent in the host stack
enqueue function -- could perhaps be a bug as well).

Keeping the original write_urb, buffer and flag for now as there are
other drivers depending on them.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-20 13:21:42 -07:00
..
association.h
atmel_usba_udc.h USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
audio.h ALSA: usb/audio.h: Fix field order 2010-03-05 08:23:09 +01:00
c67x00.h
cdc.h usb: cdc: ncm constants and structures added 2010-05-20 13:21:39 -07:00
ch9.h USB: Add definition for the Pipe Usage descriptor 2010-05-20 13:21:41 -07:00
ch11.h USB: export the new ch11.h file to userspce 2010-05-20 13:21:40 -07:00
composite.h USB: Composite framework: Add suspended sysfs entry 2010-05-20 13:21:39 -07:00
ehci_def.h
g_hid.h USB: gadget: add HID gadget driver 2010-05-20 13:21:35 -07:00
g_printer.h
gadget.h USB: Composite framework: Add suspended sysfs entry 2010-05-20 13:21:39 -07:00
gadgetfs.h
gpio_vbus.h
hcd.h USB: Support for allocating USB 3.0 streams. 2010-05-20 13:21:38 -07:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1362.h
isp1760.h
Kbuild USB: export the new ch11.h file to userspce 2010-05-20 13:21:40 -07:00
langwell_udc.h
m66592.h
midi.h
musb.h USB: musb: allow the Blackfin vrsel gpio to be active low 2010-05-20 13:21:32 -07:00
ncm.h USB: ncm: added ncm.h with auxiliary definitions 2010-05-20 13:21:39 -07:00
net2280.h
otg.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-03-03 08:48:58 -08:00
quirks.h USB: Add a new quirk: USB_QUIRK_HONOR_BNUMINTERFACES 2010-05-20 13:21:32 -07:00
r8a66597.h
rndis_host.h
serial.h USB: serial: reimplement generic fifo-based writes 2010-05-20 13:21:42 -07:00
sl811.h
tmc.h
ulpi.h usb: otg: add global ULPI register definitions 2010-05-20 13:21:36 -07:00
usbnet.h usbnet: Convert dev(dbg|err|warn|info) macros to netdev_<level> 2010-02-17 13:35:40 -08:00
video.h
wusb-wa.h
wusb.h