tune usb irq (dwc3) based on usb function

This among other things greatly increases tethering performance.

Bug: 202103325
Test: tput improved
(synced from commit f9e02b98b8243d2db566df16d4e763250ac9efaf)

Change-Id: I19b22d748352eb04bc27d85c0f69fa2571b63d53
This commit is contained in:
Ray Chi 2022-01-11 18:30:46 +08:00 committed by TreeHugger Robot
parent cac15c0134
commit a872edb528
4 changed files with 29 additions and 0 deletions

16
set_usb_irq.sh Normal file
View file

@ -0,0 +1,16 @@
#!/bin/bash
# Switch into /proc/irq/$IRQ for the dwc3 usb controller
cd /proc/irq/*/dwc3/.. || exit 7
# Move the USB Controller (DWC3) interrupt as requested
# Modem and DIT are on 0/2/5 depending on throughput, so avoid those.
# 0-3 small, 4-5 medium, 6-7 big
case "$1" in
medium) core=4;;
big) core=6;;
*) core=0;;
esac
# This can sometimes fail due to smp_affinity_list no longer existing...
echo "${core}" > smp_affinity_list