Many of our power tests actively use networking and that usage consumes power. We currently don't track any performance metrics with regard to networking however. That makes it difficult to have visibility on how variation or regressions in networking impact on power.
For example, we often see an increase in CPU's C0 residency (active) directly impacts system power.
We need a similar set of network related metrics to track there.
Had a brief chat w/ some members of our networking team and they mentioned the following as starting points for this task
1. Should be a set of keyvals avail via ifconfig or equivalent linux command that should be agnostic to the particular network (eth/wifi) chip. For example should be able to keep accounting for tx & rx packets at each link rate
2. Should be a set of keyvals that will likely be proprietary / network chip (accessible via iw? command) that may also offer insight into the subsystem performance
3. debugfs may have lots of goodies to parse.
4. With specific question of 'beacon' impact on power ... the quantity of beacons should not be too impactful as we generally enable power-saving mode to which should allow the module to maximize beacon interval. What does matter is how crowded the 'air' is with respect to packet traffic. Visibility may come through in tx retries param that should be available.
Next steps,
- Identify which keyvals matter. Hoping networking experts can help there.
- Identify if those keyvals are already parsed via some autotest library already. If yes, drop them into power_test base class and start capturing. If not, lets code them up.
Comment 1 by tbroch@chromium.org
, Sep 19