summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb2/controller/usb2_bus.h
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2009-01-13 19:03:23 +0000
committerthompsa <thompsa@FreeBSD.org>2009-01-13 19:03:23 +0000
commit0dee809a2dea5c22e790f798c8991d6c47584e93 (patch)
tree3fed8d0a87880180cb9be6db99f655c4f0d9335b /sys/dev/usb2/controller/usb2_bus.h
parent4a6646160afda48ebd262b9548fc477b9629a141 (diff)
downloadFreeBSD-src-0dee809a2dea5c22e790f798c8991d6c47584e93.zip
FreeBSD-src-0dee809a2dea5c22e790f798c8991d6c47584e93.tar.gz
MFp4: //depot/projects/usb@155842
Reduce the number of callback processes to 4 per USB controller. There are two rough categories: 1) Giant locked USB transfers. 2) Non-Giant locked USB transfers. On a real system with many USB devices plugged in the number of processes reported by "ps auxw | grep USBPROC" was reduced from 40 to 18. Submitted by: Hans Petter Selasky
Diffstat (limited to 'sys/dev/usb2/controller/usb2_bus.h')
-rw-r--r--sys/dev/usb2/controller/usb2_bus.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/usb2/controller/usb2_bus.h b/sys/dev/usb2/controller/usb2_bus.h
index 43776fd..c81a7a5 100644
--- a/sys/dev/usb2/controller/usb2_bus.h
+++ b/sys/dev/usb2/controller/usb2_bus.h
@@ -53,6 +53,13 @@ struct usb2_bus {
struct usb2_bus_stat stats_ok;
struct usb2_process explore_proc;
struct usb2_process roothub_proc;
+ /*
+ * There are two callback processes. One for Giant locked
+ * callbacks. One for non-Giant locked callbacks. This should
+ * avoid congestion and reduce response time in most cases.
+ */
+ struct usb2_process giant_callback_proc;
+ struct usb2_process non_giant_callback_proc;
struct usb2_bus_msg explore_msg[2];
struct usb2_bus_msg detach_msg[2];
struct usb2_bus_msg attach_msg[2];
OpenPOWER on IntegriCloud