mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
net/sched: taprio: delete peek() implementation
There isn't any code in the network stack which calls taprio_peek(). We only see qdisc->ops->peek() being called on child qdiscs of other classful qdiscs, never from the generic qdisc code. Whereas taprio is never a child qdisc, it is always root. This snippet of a comment from qdisc_peek_dequeued() seems to confirm: /* we can reuse ->gso_skb because peek isn't called for root qdiscs */ Since I've been known to be wrong many times though, I'm not completely removing it, but leaving a stub function in place which emits a warning. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6da13bf976
commit
ecc0cc9863
1 changed files with 1 additions and 42 deletions
|
@ -499,50 +499,9 @@ static int taprio_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
|||
return taprio_enqueue_one(skb, sch, child, to_free);
|
||||
}
|
||||
|
||||
/* Will not be called in the full offload case, since the TX queues are
|
||||
* attached to the Qdisc created using qdisc_create_dflt()
|
||||
*/
|
||||
static struct sk_buff *taprio_peek(struct Qdisc *sch)
|
||||
{
|
||||
struct taprio_sched *q = qdisc_priv(sch);
|
||||
struct net_device *dev = qdisc_dev(sch);
|
||||
struct sched_entry *entry;
|
||||
struct sk_buff *skb;
|
||||
u32 gate_mask;
|
||||
int i;
|
||||
|
||||
rcu_read_lock();
|
||||
entry = rcu_dereference(q->current_entry);
|
||||
gate_mask = entry ? entry->gate_mask : TAPRIO_ALL_GATES_OPEN;
|
||||
rcu_read_unlock();
|
||||
|
||||
if (!gate_mask)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < dev->num_tx_queues; i++) {
|
||||
struct Qdisc *child = q->qdiscs[i];
|
||||
int prio;
|
||||
u8 tc;
|
||||
|
||||
if (unlikely(!child))
|
||||
continue;
|
||||
|
||||
skb = child->ops->peek(child);
|
||||
if (!skb)
|
||||
continue;
|
||||
|
||||
if (TXTIME_ASSIST_IS_ENABLED(q->flags))
|
||||
return skb;
|
||||
|
||||
prio = skb->priority;
|
||||
tc = netdev_get_prio_tc_map(dev, prio);
|
||||
|
||||
if (!(gate_mask & BIT(tc)))
|
||||
continue;
|
||||
|
||||
return skb;
|
||||
}
|
||||
|
||||
WARN_ONCE(1, "taprio only supports operating as root qdisc, peek() not implemented");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue