diff options
author | Vladimir Oltean <[email protected]> | 2021-10-20 20:49:50 +0300 |
---|---|---|
committer | David S. Miller <[email protected]> | 2021-10-21 12:44:06 +0100 |
commit | d0004a020bb50263de0e3e775c7b7c7a003e0e0c (patch) | |
tree | 03811eb15c15b4bec1430485f0a94b38535629e6 /tools/perf/scripts/python/compaction-times.py | |
parent | 82b318983c515f29b8b3a0dad9f6a5fe8a68a7f4 (diff) |
net: dsa: remove the "dsa_to_port in a loop" antipattern from the core
Ever since Vivien's conversion of the ds->ports array into a dst->ports
list, and the introduction of dsa_to_port, iterations through the ports
of a switch became quadratic whenever dsa_to_port was needed.
dsa_to_port can either be called directly, or indirectly through the
dsa_is_{user,cpu,dsa,unused}_port helpers.
Use the newly introduced dsa_switch_for_each_port() iteration macro
that works with the iterator variable being a struct dsa_port *dp
directly, and not an int i. It is an expensive variable to go from i to
dp, but cheap to go from dp to i.
This macro iterates through the entire ds->dst->ports list and filters
by the ports belonging just to the switch provided as argument.
Signed-off-by: Vladimir Oltean <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/compaction-times.py')
0 files changed, 0 insertions, 0 deletions