Lines Matching refs:sch
89 static int plug_enqueue(struct sk_buff *skb, struct Qdisc *sch) in plug_enqueue() argument
91 struct plug_sched_data *q = qdisc_priv(sch); in plug_enqueue()
93 if (likely(sch->qstats.backlog + skb->len <= q->limit)) { in plug_enqueue()
96 return qdisc_enqueue_tail(skb, sch); in plug_enqueue()
99 return qdisc_reshape_fail(skb, sch); in plug_enqueue()
102 static struct sk_buff *plug_dequeue(struct Qdisc *sch) in plug_dequeue() argument
104 struct plug_sched_data *q = qdisc_priv(sch); in plug_dequeue()
106 if (qdisc_is_throttled(sch)) in plug_dequeue()
114 qdisc_throttled(sch); in plug_dequeue()
120 return qdisc_dequeue_head(sch); in plug_dequeue()
123 static int plug_init(struct Qdisc *sch, struct nlattr *opt) in plug_init() argument
125 struct plug_sched_data *q = qdisc_priv(sch); in plug_init()
133 q->limit = qdisc_dev(sch)->tx_queue_len in plug_init()
134 * psched_mtu(qdisc_dev(sch)); in plug_init()
144 qdisc_throttled(sch); in plug_init()
158 static int plug_change(struct Qdisc *sch, struct nlattr *opt) in plug_change() argument
160 struct plug_sched_data *q = qdisc_priv(sch); in plug_change()
176 qdisc_throttled(sch); in plug_change()
185 qdisc_unthrottled(sch); in plug_change()
186 netif_schedule_queue(sch->dev_queue); in plug_change()
193 qdisc_unthrottled(sch); in plug_change()
194 netif_schedule_queue(sch->dev_queue); in plug_change()