adb: fragment host linux USB writes when needed.
We've seen USB writes failing due to inability to allocate contiguous chunks of memory in the kernel on devices, but it looks like the same problem can occur on the host, as well. It's a mild performance regression (90->80 MB/s on a blueline) to split the writes always, so attempt the full write first, and fall back to splitting it up if that fails with ENOMEM. Once we switch over the the asynchronous transport API, we'll be able to submit multiple writes cheaply, like on devices, so we won't need to retry at that point. Bug: http://b/140985544 Test: test_device.py Change-Id: I1517c348375b829dfff6796c4e9d394802b02d5b
Loading
Please register or sign in to comment