tiiuae / mesh_com

ROS node for Mesh Network configuration
BSD 3-Clause "New" or "Revised" License
16 stars 17 forks source link

Implement perf module(script) to optimize link latency for different vendors. #51

Closed govindsi closed 1 year ago

govindsi commented 3 years ago

Scope: 1) Determine vendors/upstream driver(iwlwifi/ath9k/10k/11k/rtlwifi/mt). 2) Determine available knobs to optimize link delay and segregate common and vendor specific knobs. 3) Apply the configuration dynamically (if up/down cb) Example: Common knobs: 1) Disable power save. 2) Disable/reduce aggregation size(amsdu/ampdu): All vendor does not have this knob. 3) WMM QOS: classify critical latency data to VO ( mostly application layer handling) 4) CPU governor setting (bus bandwidth detection?). 5) TCP delack/window size configuration.

Vendor specific knobs: 1) Any latency mode if available(disable off-channel operation ex:background roam scan) 2) Rx interrupt/bottom half(NAPI) affinity.

govindsi commented 3 years ago

High level idea is drafted in below commit for review/inputs. https://github.com/govindsi/mesh_com/commit/f679b298f2a3376e97a865a2d474c013e4d890ca

mbaddeley commented 3 years ago

Seems like a good idea. Would be fun to play around with at the very least. Thoughts @joenpera?

joenpera commented 3 years ago

Good idea, but takes time to find all knobs for all listed wifi drivers. Of course work can be started with wifi cards which we have in our hands. Let's keep this open and develope further.

govindsi commented 1 year ago

Not needed any more!