Skip to content

Commit

Permalink
net/sched: taprio: simplify list iteration in taprio_dev_notifier()
Browse files Browse the repository at this point in the history
taprio_dev_notifier() subscribes to netdev state changes in order to
determine whether interfaces which have a taprio root qdisc have changed
their link speed, so the internal calculations can be adapted properly.

The 'qdev' temporary variable serves no purpose, because we just use it
only once, and can just as well use qdisc_dev(q->root) directly (or the
"dev" that comes from the netdev notifier; this is because qdev is only
interesting if it was the subject of the state change, _and_ its root
qdisc belongs in the taprio list).

The 'found' variable also doesn't really serve too much of a purpose
either; we can just call taprio_set_picos_per_byte() within the loop,
and exit immediately afterwards.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Link: https://lore.kernel.org/r/20220923145921.3038904-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Vladimir Oltean authored and Jakub Kicinski committed Sep 26, 2022
1 parent 73ce2ac commit fc4f2fd
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions net/sched/sch_taprio.c
Original file line number Diff line number Diff line change
Expand Up @@ -1072,25 +1072,20 @@ static int taprio_dev_notifier(struct notifier_block *nb, unsigned long event,
void *ptr)
{
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
struct net_device *qdev;
struct taprio_sched *q;
bool found = false;

ASSERT_RTNL();

if (event != NETDEV_UP && event != NETDEV_CHANGE)
return NOTIFY_DONE;

list_for_each_entry(q, &taprio_list, taprio_list) {
qdev = qdisc_dev(q->root);
if (qdev == dev) {
found = true;
break;
}
}
if (dev != qdisc_dev(q->root))
continue;

if (found)
taprio_set_picos_per_byte(dev, q);
break;
}

return NOTIFY_DONE;
}
Expand Down

0 comments on commit fc4f2fd

Please sign in to comment.