Lines Matching refs:sch
81 struct sk_buff *(*dequeue)(struct Qdisc *sch);
82 struct sk_buff *(*peek)(struct Qdisc *sch);
188 struct Qdisc *sch, in find_entry_to_transmit() argument
199 struct taprio_sched *q = qdisc_priv(sch); in find_entry_to_transmit()
200 struct net_device *dev = qdisc_dev(sch); in find_entry_to_transmit()
264 static bool is_valid_interval(struct sk_buff *skb, struct Qdisc *sch) in is_valid_interval() argument
266 struct taprio_sched *q = qdisc_priv(sch); in is_valid_interval()
275 entry = find_entry_to_transmit(skb, sch, sched, admin, skb->tstamp, in is_valid_interval()
345 static long get_packet_txtime(struct sk_buff *skb, struct Qdisc *sch) in get_packet_txtime() argument
348 struct taprio_sched *q = qdisc_priv(sch); in get_packet_txtime()
379 entry = find_entry_to_transmit(skb, sch, sched, admin, in get_packet_txtime()
416 static int taprio_enqueue_one(struct sk_buff *skb, struct Qdisc *sch, in taprio_enqueue_one() argument
419 struct taprio_sched *q = qdisc_priv(sch); in taprio_enqueue_one()
423 if (!is_valid_interval(skb, sch)) in taprio_enqueue_one()
424 return qdisc_drop(skb, sch, to_free); in taprio_enqueue_one()
426 skb->tstamp = get_packet_txtime(skb, sch); in taprio_enqueue_one()
428 return qdisc_drop(skb, sch, to_free); in taprio_enqueue_one()
431 qdisc_qstats_backlog_inc(sch, skb); in taprio_enqueue_one()
432 sch->q.qlen++; in taprio_enqueue_one()
437 static int taprio_enqueue(struct sk_buff *skb, struct Qdisc *sch, in taprio_enqueue() argument
440 struct taprio_sched *q = qdisc_priv(sch); in taprio_enqueue()
446 return qdisc_drop(skb, sch, to_free); in taprio_enqueue()
453 return qdisc_drop(skb, sch, to_free); in taprio_enqueue()
468 return qdisc_drop(skb, sch, to_free); in taprio_enqueue()
475 ret = taprio_enqueue_one(segs, sch, child, to_free); in taprio_enqueue()
478 qdisc_qstats_drop(sch); in taprio_enqueue()
485 qdisc_tree_reduce_backlog(sch, 1 - numsegs, len - slen); in taprio_enqueue()
491 return taprio_enqueue_one(skb, sch, child, to_free); in taprio_enqueue()
494 static struct sk_buff *taprio_peek_soft(struct Qdisc *sch) in taprio_peek_soft() argument
496 struct taprio_sched *q = qdisc_priv(sch); in taprio_peek_soft()
497 struct net_device *dev = qdisc_dev(sch); in taprio_peek_soft()
538 static struct sk_buff *taprio_peek_offload(struct Qdisc *sch) in taprio_peek_offload() argument
545 static struct sk_buff *taprio_peek(struct Qdisc *sch) in taprio_peek() argument
547 struct taprio_sched *q = qdisc_priv(sch); in taprio_peek()
549 return q->peek(sch); in taprio_peek()
559 static struct sk_buff *taprio_dequeue_soft(struct Qdisc *sch) in taprio_dequeue_soft() argument
561 struct taprio_sched *q = qdisc_priv(sch); in taprio_dequeue_soft()
562 struct net_device *dev = qdisc_dev(sch); in taprio_dequeue_soft()
634 qdisc_bstats_update(sch, skb); in taprio_dequeue_soft()
635 qdisc_qstats_backlog_dec(sch, skb); in taprio_dequeue_soft()
636 sch->q.qlen--; in taprio_dequeue_soft()
647 static struct sk_buff *taprio_dequeue_offload(struct Qdisc *sch) in taprio_dequeue_offload() argument
654 static struct sk_buff *taprio_dequeue(struct Qdisc *sch) in taprio_dequeue() argument
656 struct taprio_sched *q = qdisc_priv(sch); in taprio_dequeue()
658 return q->dequeue(sch); in taprio_dequeue()
713 struct Qdisc *sch = q->root; in advance_sched() local
770 __netif_schedule(sch); in advance_sched()
1009 static int taprio_get_start_time(struct Qdisc *sch, in taprio_get_start_time() argument
1013 struct taprio_sched *q = qdisc_priv(sch); in taprio_get_start_time()
1062 static void taprio_start_sched(struct Qdisc *sch, in taprio_start_sched() argument
1065 struct taprio_sched *q = qdisc_priv(sch); in taprio_start_sched()
1342 static int taprio_parse_clockid(struct Qdisc *sch, struct nlattr **tb, in taprio_parse_clockid() argument
1345 struct taprio_sched *q = qdisc_priv(sch); in taprio_parse_clockid()
1346 struct net_device *dev = qdisc_dev(sch); in taprio_parse_clockid()
1467 static int taprio_change(struct Qdisc *sch, struct nlattr *opt, in taprio_change() argument
1472 struct taprio_sched *q = qdisc_priv(sch); in taprio_change()
1473 struct net_device *dev = qdisc_dev(sch); in taprio_change()
1530 err = taprio_parse_clockid(sch, tb, extack); in taprio_change()
1559 spin_lock_bh(qdisc_lock(sch)); in taprio_change()
1589 err = taprio_get_start_time(sch, new_admin, &start); in taprio_change()
1614 taprio_start_sched(sch, start, new_admin); in taprio_change()
1630 spin_unlock_bh(qdisc_lock(sch)); in taprio_change()
1639 static void taprio_reset(struct Qdisc *sch) in taprio_reset() argument
1641 struct taprio_sched *q = qdisc_priv(sch); in taprio_reset()
1642 struct net_device *dev = qdisc_dev(sch); in taprio_reset()
1654 static void taprio_destroy(struct Qdisc *sch) in taprio_destroy() argument
1656 struct taprio_sched *q = qdisc_priv(sch); in taprio_destroy()
1657 struct net_device *dev = qdisc_dev(sch); in taprio_destroy()
1668 qdisc_synchronize(sch); in taprio_destroy()
1689 static int taprio_init(struct Qdisc *sch, struct nlattr *opt, in taprio_init() argument
1692 struct taprio_sched *q = qdisc_priv(sch); in taprio_init()
1693 struct net_device *dev = qdisc_dev(sch); in taprio_init()
1704 q->root = sch; in taprio_init()
1716 if (sch->parent != TC_H_ROOT) in taprio_init()
1740 TC_H_MAKE(TC_H_MAJ(sch->handle), in taprio_init()
1752 return taprio_change(sch, opt, extack); in taprio_init()
1755 static void taprio_attach(struct Qdisc *sch) in taprio_attach() argument
1757 struct taprio_sched *q = qdisc_priv(sch); in taprio_attach()
1758 struct net_device *dev = qdisc_dev(sch); in taprio_attach()
1770 old = dev_graft_qdisc(qdisc->dev_queue, sch); in taprio_attach()
1771 qdisc_refcount_inc(sch); in taprio_attach()
1784 static struct netdev_queue *taprio_queue_get(struct Qdisc *sch, in taprio_queue_get() argument
1787 struct net_device *dev = qdisc_dev(sch); in taprio_queue_get()
1796 static int taprio_graft(struct Qdisc *sch, unsigned long cl, in taprio_graft() argument
1800 struct taprio_sched *q = qdisc_priv(sch); in taprio_graft()
1801 struct net_device *dev = qdisc_dev(sch); in taprio_graft()
1802 struct netdev_queue *dev_queue = taprio_queue_get(sch, cl); in taprio_graft()
1892 static int taprio_dump(struct Qdisc *sch, struct sk_buff *skb) in taprio_dump() argument
1894 struct taprio_sched *q = qdisc_priv(sch); in taprio_dump()
1895 struct net_device *dev = qdisc_dev(sch); in taprio_dump()
1962 static struct Qdisc *taprio_leaf(struct Qdisc *sch, unsigned long cl) in taprio_leaf() argument
1964 struct netdev_queue *dev_queue = taprio_queue_get(sch, cl); in taprio_leaf()
1972 static unsigned long taprio_find(struct Qdisc *sch, u32 classid) in taprio_find() argument
1976 if (!taprio_queue_get(sch, ntx)) in taprio_find()
1981 static int taprio_dump_class(struct Qdisc *sch, unsigned long cl, in taprio_dump_class() argument
1984 struct netdev_queue *dev_queue = taprio_queue_get(sch, cl); in taprio_dump_class()
1993 static int taprio_dump_class_stats(struct Qdisc *sch, unsigned long cl, in taprio_dump_class_stats() argument
1998 struct netdev_queue *dev_queue = taprio_queue_get(sch, cl); in taprio_dump_class_stats()
2000 sch = dev_queue->qdisc_sleeping; in taprio_dump_class_stats()
2001 if (gnet_stats_copy_basic(&sch->running, d, NULL, &sch->bstats) < 0 || in taprio_dump_class_stats()
2002 qdisc_qstats_copy(d, sch) < 0) in taprio_dump_class_stats()
2007 static void taprio_walk(struct Qdisc *sch, struct qdisc_walker *arg) in taprio_walk() argument
2009 struct net_device *dev = qdisc_dev(sch); in taprio_walk()
2017 if (arg->fn(sch, ntx + 1, arg) < 0) { in taprio_walk()
2025 static struct netdev_queue *taprio_select_queue(struct Qdisc *sch, in taprio_select_queue() argument
2028 return taprio_queue_get(sch, TC_H_MIN(tcm->tcm_parent)); in taprio_select_queue()