diff --git a/adb/daemon/usb.cpp b/adb/daemon/usb.cpp index 3b29ab5fc..1e3701582 100644 --- a/adb/daemon/usb.cpp +++ b/adb/daemon/usb.cpp @@ -58,10 +58,12 @@ using android::base::StringPrintf; static std::optional gFfsAioSupported; // Not all USB controllers support operations larger than 16k, so don't go above that. -static constexpr size_t kUsbReadQueueDepth = 32; +// Also, each submitted operation does an allocation in the kernel of that size, so we want to +// minimize our queue depth while still maintaining a deep enough queue to keep the USB stack fed. +static constexpr size_t kUsbReadQueueDepth = 8; static constexpr size_t kUsbReadSize = 4 * PAGE_SIZE; -static constexpr size_t kUsbWriteQueueDepth = 32; +static constexpr size_t kUsbWriteQueueDepth = 8; static constexpr size_t kUsbWriteSize = 4 * PAGE_SIZE; static const char* to_string(enum usb_functionfs_event_type type) {