From: Vladimir Oltean Date: Wed, 21 Sep 2022 09:56:31 +0000 (+0300) Subject: net/sched: taprio: remove unnecessary taprio_list_lock X-Git-Tag: v6.1-rc5~319^2~129 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2c2a4ddc27db1715be8c03280c6cb7b808dd8b7;p=platform%2Fkernel%2Flinux-starfive.git net/sched: taprio: remove unnecessary taprio_list_lock The 3 functions that want access to the taprio_list: taprio_dev_notifier(), taprio_destroy() and taprio_init() are all called with the rtnl_mutex held, therefore implicitly serialized with respect to each other. A spin lock serves no purpose. Signed-off-by: Vladimir Oltean Acked-by: Vinicius Costa Gomes Link: https://lore.kernel.org/r/20220921095632.1379251-1-vladimir.oltean@nxp.com Signed-off-by: Jakub Kicinski --- diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c index 8ae4540..1853f08 100644 --- a/net/sched/sch_taprio.c +++ b/net/sched/sch_taprio.c @@ -27,7 +27,6 @@ #include static LIST_HEAD(taprio_list); -static DEFINE_SPINLOCK(taprio_list_lock); #define TAPRIO_ALL_GATES_OPEN -1 @@ -1082,7 +1081,6 @@ static int taprio_dev_notifier(struct notifier_block *nb, unsigned long event, if (event != NETDEV_UP && event != NETDEV_CHANGE) return NOTIFY_DONE; - spin_lock(&taprio_list_lock); list_for_each_entry(q, &taprio_list, taprio_list) { qdev = qdisc_dev(q->root); if (qdev == dev) { @@ -1090,7 +1088,6 @@ static int taprio_dev_notifier(struct notifier_block *nb, unsigned long event, break; } } - spin_unlock(&taprio_list_lock); if (found) taprio_set_picos_per_byte(dev, q); @@ -1602,9 +1599,7 @@ static void taprio_destroy(struct Qdisc *sch) struct sched_gate_list *oper, *admin; unsigned int i; - spin_lock(&taprio_list_lock); list_del(&q->taprio_list); - spin_unlock(&taprio_list_lock); /* Note that taprio_reset() might not be called if an error * happens in qdisc_create(), after taprio_init() has been called. @@ -1653,9 +1648,7 @@ static int taprio_init(struct Qdisc *sch, struct nlattr *opt, q->clockid = -1; q->flags = TAPRIO_FLAGS_INVALID; - spin_lock(&taprio_list_lock); list_add(&q->taprio_list, &taprio_list); - spin_unlock(&taprio_list_lock); if (sch->parent != TC_H_ROOT) { NL_SET_ERR_MSG_MOD(extack, "Can only be attached as root qdisc");