Lines Matching defs:sch

1501 static unsigned int cake_drop(struct Qdisc *sch, struct sk_buff **to_free)
1503 struct cake_sched_data *q = qdisc_priv(sch);
1540 sch->qstats.backlog -= len;
1541 qdisc_tree_reduce_backlog(sch, 1, len);
1545 sch->qstats.drops++;
1551 sch->q.qlen--;
1614 static struct cake_tin_data *cake_select_tin(struct Qdisc *sch,
1617 struct cake_sched_data *q = qdisc_priv(sch);
1637 else if (TC_H_MAJ(skb->priority) == sch->handle &&
1654 static u32 cake_classify(struct Qdisc *sch, struct cake_tin_data **t,
1657 struct cake_sched_data *q = qdisc_priv(sch);
1688 *t = cake_select_tin(sch, skb);
1692 static void cake_reconfigure(struct Qdisc *sch);
1694 static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
1697 struct cake_sched_data *q = qdisc_priv(sch);
1707 idx = cake_classify(sch, &b, skb, q->flow_mode, &ret);
1710 qdisc_qstats_drop(sch);
1722 if (!sch->q.qlen) {
1732 sch->qstats.overlimits++;
1748 return qdisc_drop(skb, sch, to_free);
1758 sch->q.qlen++;
1769 sch->qstats.backlog += slen;
1772 qdisc_tree_reduce_backlog(sch, 1-numsegs, len-slen);
1785 sch->qstats.drops++;
1792 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(ack));
1795 sch->q.qlen++;
1804 sch->qstats.backlog += len;
1845 cake_reconfigure(sch);
1903 cake_drop(sch, to_free);
1910 static struct sk_buff *cake_dequeue_one(struct Qdisc *sch)
1912 struct cake_sched_data *q = qdisc_priv(sch);
1923 sch->qstats.backlog -= len;
1925 sch->q.qlen--;
1934 static void cake_clear_tin(struct Qdisc *sch, u16 tin)
1936 struct cake_sched_data *q = qdisc_priv(sch);
1941 while (!!(skb = cake_dequeue_one(sch)))
1945 static struct sk_buff *cake_dequeue(struct Qdisc *sch)
1947 struct cake_sched_data *q = qdisc_priv(sch);
1960 if (!sch->q.qlen)
1969 sch->qstats.overlimits++;
2107 skb = cake_dequeue_one(sch);
2176 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb));
2177 qdisc_qstats_drop(sch);
2184 qdisc_bstats_update(sch, skb);
2198 if (ktime_after(q->time_next_packet, now) && sch->q.qlen) {
2203 } else if (!sch->q.qlen) {
2225 static void cake_reset(struct Qdisc *sch)
2227 struct cake_sched_data *q = qdisc_priv(sch);
2234 cake_clear_tin(sch, c);
2296 static int cake_config_besteffort(struct Qdisc *sch)
2298 struct cake_sched_data *q = qdisc_priv(sch);
2300 u32 mtu = psched_mtu(qdisc_dev(sch));
2315 static int cake_config_precedence(struct Qdisc *sch)
2318 struct cake_sched_data *q = qdisc_priv(sch);
2319 u32 mtu = psched_mtu(qdisc_dev(sch));
2391 static int cake_config_diffserv8(struct Qdisc *sch)
2407 struct cake_sched_data *q = qdisc_priv(sch);
2408 u32 mtu = psched_mtu(qdisc_dev(sch));
2439 static int cake_config_diffserv4(struct Qdisc *sch)
2451 struct cake_sched_data *q = qdisc_priv(sch);
2452 u32 mtu = psched_mtu(qdisc_dev(sch));
2481 static int cake_config_diffserv3(struct Qdisc *sch)
2488 struct cake_sched_data *q = qdisc_priv(sch);
2489 u32 mtu = psched_mtu(qdisc_dev(sch));
2515 static void cake_reconfigure(struct Qdisc *sch)
2517 struct cake_sched_data *q = qdisc_priv(sch);
2522 ft = cake_config_besteffort(sch);
2526 ft = cake_config_precedence(sch);
2530 ft = cake_config_diffserv8(sch);
2534 ft = cake_config_diffserv4(sch);
2539 ft = cake_config_diffserv3(sch);
2544 cake_clear_tin(sch, c);
2562 sch->flags &= ~TCQ_F_CAN_BYPASS;
2565 max(sch->limit * psched_mtu(qdisc_dev(sch)),
2569 static int cake_change(struct Qdisc *sch, struct nlattr *opt,
2572 struct cake_sched_data *q = qdisc_priv(sch);
2686 sch_tree_lock(sch);
2687 cake_reconfigure(sch);
2688 sch_tree_unlock(sch);
2694 static void cake_destroy(struct Qdisc *sch)
2696 struct cake_sched_data *q = qdisc_priv(sch);
2703 static int cake_init(struct Qdisc *sch, struct nlattr *opt,
2706 struct cake_sched_data *q = qdisc_priv(sch);
2709 sch->limit = 10240;
2723 qdisc_watchdog_init(&q->watchdog, sch);
2726 err = cake_change(sch, opt, extack);
2732 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
2768 cake_reconfigure(sch);
2775 static int cake_dump(struct Qdisc *sch, struct sk_buff *skb)
2777 struct cake_sched_data *q = qdisc_priv(sch);
2849 static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
2852 struct cake_sched_data *q = qdisc_priv(sch);
2948 static struct Qdisc *cake_leaf(struct Qdisc *sch, unsigned long arg)
2953 static unsigned long cake_find(struct Qdisc *sch, u32 classid)
2958 static unsigned long cake_bind(struct Qdisc *sch, unsigned long parent,
2968 static struct tcf_block *cake_tcf_block(struct Qdisc *sch, unsigned long cl,
2971 struct cake_sched_data *q = qdisc_priv(sch);
2978 static int cake_dump_class(struct Qdisc *sch, unsigned long cl,
2985 static int cake_dump_class_stats(struct Qdisc *sch, unsigned long cl,
2988 struct cake_sched_data *q = qdisc_priv(sch);
3002 sch_tree_lock(sch);
3008 sch_tree_unlock(sch);
3059 static void cake_walk(struct Qdisc *sch, struct qdisc_walker *arg)
3061 struct cake_sched_data *q = qdisc_priv(sch);
3076 if (arg->fn(sch, i * CAKE_QUEUES + j + 1, arg) < 0) {