Home
last modified time | relevance | path

Searched full:sch (Results 1 – 25 of 121) sorted by relevance

12345

/linux/drivers/gpio/
H A Dgpio-sch.c3 * GPIO interface for Intel Poulsbo SCH
50 static unsigned int sch_gpio_offset(struct sch_gpio *sch, unsigned int gpio, in sch_gpio_offset() argument
55 if (gpio >= sch->resume_base) { in sch_gpio_offset()
56 gpio -= sch->resume_base; in sch_gpio_offset()
63 static unsigned int sch_gpio_bit(struct sch_gpio *sch, unsigned int gpio) in sch_gpio_bit() argument
65 if (gpio >= sch->resume_base) in sch_gpio_bit()
66 gpio -= sch->resume_base; in sch_gpio_bit()
70 static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned int gpio, unsigned int reg) in sch_gpio_reg_get() argument
75 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get()
76 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get()
[all …]
/linux/net/sched/
H A Dsch_fifo.c19 static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in bfifo_enqueue() argument
22 if (likely((u64)sch->qstats.backlog + qdisc_pkt_len(skb) <= in bfifo_enqueue()
23 READ_ONCE(sch->limit))) in bfifo_enqueue()
24 return qdisc_enqueue_tail(skb, sch); in bfifo_enqueue()
26 return qdisc_drop(skb, sch, to_free); in bfifo_enqueue()
29 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_enqueue() argument
32 if (likely(sch->q.qlen < READ_ONCE(sch->limit))) in pfifo_enqueue()
33 return qdisc_enqueue_tail(skb, sch); in pfifo_enqueue()
35 return qdisc_drop(skb, sch, to_fre in pfifo_enqueue()
38 pfifo_tail_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) pfifo_tail_enqueue() argument
59 fifo_offload_init(struct Qdisc * sch) fifo_offload_init() argument
73 fifo_offload_destroy(struct Qdisc * sch) fifo_offload_destroy() argument
87 fifo_offload_dump(struct Qdisc * sch) fifo_offload_dump() argument
100 __fifo_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) __fifo_init() argument
135 fifo_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fifo_init() argument
148 fifo_hd_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fifo_hd_init() argument
154 fifo_destroy(struct Qdisc * sch) fifo_destroy() argument
159 __fifo_dump(struct Qdisc * sch,struct sk_buff * skb) __fifo_dump() argument
171 fifo_dump(struct Qdisc * sch,struct sk_buff * skb) fifo_dump() argument
182 fifo_hd_dump(struct Qdisc * sch,struct sk_buff * skb) fifo_hd_dump() argument
256 fifo_create_dflt(struct Qdisc * sch,struct Qdisc_ops * ops,unsigned int limit,struct netlink_ext_ack * extack) fifo_create_dflt() argument
[all...]
H A Dsch_mq.c20 static int mq_offload(struct Qdisc *sch, enum tc_mq_command cmd) in mq_offload() argument
22 struct net_device *dev = qdisc_dev(sch); in mq_offload()
25 .handle = sch->handle, in mq_offload()
34 static int mq_offload_stats(struct Qdisc *sch) in mq_offload_stats() argument
38 .handle = sch->handle, in mq_offload_stats()
40 .bstats = &sch->bstats, in mq_offload_stats()
41 .qstats = &sch->qstats, in mq_offload_stats()
45 return qdisc_offload_dump_helper(sch, TC_SETUP_QDISC_MQ, &opt); in mq_offload_stats()
48 void mq_destroy_common(struct Qdisc *sch) in mq_destroy_common() argument
50 struct net_device *dev = qdisc_dev(sch); in mq_destroy_common()
62 mq_destroy(struct Qdisc * sch) mq_destroy() argument
68 mq_init_common(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack,const struct Qdisc_ops * qdisc_ops) mq_init_common() argument
107 mq_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) mq_init() argument
120 mq_attach(struct Qdisc * sch) mq_attach() argument
143 mq_dump_common(struct Qdisc * sch,struct sk_buff * skb) mq_dump_common() argument
173 mq_dump(struct Qdisc * sch,struct sk_buff * skb) mq_dump() argument
179 mq_queue_get(struct Qdisc * sch,unsigned long cl) mq_queue_get() argument
189 mq_select_queue(struct Qdisc * sch,struct tcmsg * tcm) mq_select_queue() argument
196 mq_graft(struct Qdisc * sch,unsigned long cl,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) mq_graft() argument
222 mq_leaf(struct Qdisc * sch,unsigned long cl) mq_leaf() argument
230 mq_find(struct Qdisc * sch,u32 classid) mq_find() argument
240 mq_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) mq_dump_class() argument
252 mq_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) mq_dump_class_stats() argument
265 mq_walk(struct Qdisc * sch,struct qdisc_walker * arg) mq_walk() argument
[all...]
H A Dsch_prio.c31 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify() argument
33 struct prio_sched_data *q = qdisc_priv(sch); in prio_classify()
40 if (TC_H_MAJ(skb->priority) != sch->handle) { in prio_classify()
69 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in prio_enqueue() argument
75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue()
80 qdisc_qstats_drop(sch); in prio_enqueue()
88 qstats_backlog_add(sch, len); in prio_enqueue()
89 qdisc_qlen_inc(sch); in prio_enqueue()
93 qdisc_qstats_drop(sch); in prio_enqueue()
97 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek() argument
[all …]
H A Dsch_red.c44 struct Qdisc *sch; member
70 static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch, in red_enqueue() argument
74 struct red_sched_data *q = qdisc_priv(sch); in red_enqueue()
91 qdisc_qstats_overlimit(sch); in red_enqueue()
101 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue()
115 qdisc_qstats_overlimit(sch); in red_enqueue()
125 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue()
141 qstats_backlog_add(sch, len); in red_enqueue()
142 qdisc_qlen_inc(sch); in red_enqueue()
146 qdisc_qstats_drop(sch); in red_enqueue()
159 red_dequeue(struct Qdisc * sch) red_dequeue() argument
177 red_peek(struct Qdisc * sch) red_peek() argument
185 red_reset(struct Qdisc * sch) red_reset() argument
193 red_offload(struct Qdisc * sch,bool enable) red_offload() argument
222 red_destroy(struct Qdisc * sch) red_destroy() argument
243 __red_change(struct Qdisc * sch,struct nlattr ** tb,struct netlink_ext_ack * extack) __red_change() argument
332 struct Qdisc *sch = q->sch; red_adaptative_timer() local
344 red_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) red_init() argument
378 red_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) red_change() argument
403 red_dump_offload_stats(struct Qdisc * sch) red_dump_offload_stats() argument
418 red_dump(struct Qdisc * sch,struct sk_buff * skb) red_dump() argument
455 red_dump_stats(struct Qdisc * sch,struct gnet_dump * d) red_dump_stats() argument
484 red_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) red_dump_class() argument
494 red_graft_offload(struct Qdisc * sch,struct Qdisc * new,struct Qdisc * old,struct netlink_ext_ack * extack) red_graft_offload() argument
509 red_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) red_graft() argument
523 red_leaf(struct Qdisc * sch,unsigned long arg) red_leaf() argument
529 red_find(struct Qdisc * sch,u32 classid) red_find() argument
534 red_walk(struct Qdisc * sch,struct qdisc_walker * walker) red_walk() argument
[all...]
H A Dsch_ingress.c24 static struct Qdisc *ingress_leaf(struct Qdisc *sch, unsigned long arg) in ingress_leaf() argument
29 static unsigned long ingress_find(struct Qdisc *sch, u32 classid) in ingress_find() argument
34 static unsigned long ingress_bind_filter(struct Qdisc *sch, in ingress_bind_filter() argument
37 return ingress_find(sch, classid); in ingress_bind_filter()
40 static void ingress_unbind_filter(struct Qdisc *sch, unsigned long cl) in ingress_unbind_filter() argument
44 static void ingress_walk(struct Qdisc *sch, struct qdisc_walker *walker) in ingress_walk() argument
48 static struct tcf_block *ingress_tcf_block(struct Qdisc *sch, unsigned long cl, in ingress_tcf_block() argument
51 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_tcf_block()
63 static void ingress_ingress_block_set(struct Qdisc *sch, u32 block_index) in ingress_ingress_block_set() argument
65 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_ingress_block_set()
[all …]
H A Dsch_multiq.c30 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in multiq_classify() argument
32 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_classify()
60 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch, in multiq_enqueue() argument
66 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue()
71 qdisc_qstats_drop(sch); in multiq_enqueue()
79 qdisc_qlen_inc(sch); in multiq_enqueue()
83 qdisc_qstats_drop(sch); in multiq_enqueue()
87 static struct sk_buff *multiq_dequeue(struct Qdisc *sch) in multiq_dequeue() argument
89 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue()
104 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue()
[all …]
H A Dsch_codel.c41 struct Qdisc *sch = ctx; in dequeue_func() local
42 struct sk_buff *skb = __qdisc_dequeue_head(&sch->q); in dequeue_func()
45 qstats_backlog_sub(sch, qdisc_pkt_len(skb)); in dequeue_func()
53 struct Qdisc *sch = ctx; in drop_func() local
55 qdisc_dequeue_drop(sch, skb, QDISC_DROP_CONGESTED); in drop_func()
56 qdisc_qstats_drop(sch); in drop_func()
59 static struct sk_buff *__codel_qdisc_dequeue(struct Qdisc *sch) in codel_qdisc_dequeue() argument
61 struct codel_sched_data *q = qdisc_priv(sch); in codel_qdisc_dequeue()
64 skb = codel_dequeue(sch, &sch in codel_qdisc_dequeue()
78 codel_qdisc_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) codel_qdisc_enqueue() argument
101 codel_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) codel_change() argument
161 codel_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) codel_init() argument
188 codel_dump(struct Qdisc * sch,struct sk_buff * skb) codel_dump() argument
219 codel_dump_stats(struct Qdisc * sch,struct gnet_dump * d) codel_dump_stats() argument
245 codel_reset(struct Qdisc * sch) codel_reset() argument
[all...]
H A Dsch_fq_codel.c56 u32 quantum; /* psched_mtu(qdisc_dev(sch)); */
76 static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_classify() argument
79 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_classify()
84 if (TC_H_MAJ(skb->priority) == sch->handle && in fq_codel_classify()
137 static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets, in fq_codel_drop() argument
140 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_drop()
179 __qdisc_qstats_drop(sch, i); in fq_codel_drop()
180 qstats_backlog_sub(sch, len); in fq_codel_drop()
181 WRITE_ONCE(sch->q.qlen, sch in fq_codel_drop()
185 fq_codel_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) fq_codel_enqueue() argument
259 struct Qdisc *sch = ctx; dequeue_func() local
278 struct Qdisc *sch = ctx; drop_func() local
284 __fq_codel_dequeue(struct Qdisc * sch) __fq_codel_dequeue() argument
324 fq_codel_dequeue_drop(struct Qdisc * sch) fq_codel_dequeue_drop() argument
336 fq_codel_dequeue(struct Qdisc * sch) fq_codel_dequeue() argument
347 fq_codel_peek(struct Qdisc * sch) fq_codel_peek() argument
373 fq_codel_reset(struct Qdisc * sch) fq_codel_reset() argument
405 fq_codel_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fq_codel_change() argument
499 fq_codel_destroy(struct Qdisc * sch) fq_codel_destroy() argument
508 fq_codel_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fq_codel_init() argument
572 fq_codel_dump(struct Qdisc * sch,struct sk_buff * skb) fq_codel_dump() argument
619 fq_codel_dump_stats(struct Qdisc * sch,struct gnet_dump * d) fq_codel_dump_stats() argument
647 fq_codel_leaf(struct Qdisc * sch,unsigned long arg) fq_codel_leaf() argument
652 fq_codel_find(struct Qdisc * sch,u32 classid) fq_codel_find() argument
657 fq_codel_bind(struct Qdisc * sch,unsigned long parent,u32 classid) fq_codel_bind() argument
667 fq_codel_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) fq_codel_tcf_block() argument
677 fq_codel_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) fq_codel_dump_class() argument
684 fq_codel_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) fq_codel_dump_class_stats() argument
731 fq_codel_walk(struct Qdisc * sch,struct qdisc_walker * arg) fq_codel_walk() argument
[all...]
H A Dsch_ets.c82 static int ets_quantum_parse(struct Qdisc *sch, const struct nlattr *attr, in ets_quantum_parse() argument
95 ets_class_from_arg(struct Qdisc *sch, unsigned long arg) in ets_class_from_arg() argument
97 struct ets_sched *q = qdisc_priv(sch); in ets_class_from_arg()
104 static u32 ets_class_id(struct Qdisc *sch, const struct ets_class *cl) in ets_class_id() argument
106 struct ets_sched *q = qdisc_priv(sch); in ets_class_id()
109 return TC_H_MAKE(sch->handle, band + 1); in ets_class_id()
112 static void ets_offload_change(struct Qdisc *sch) in ets_offload_change() argument
114 struct net_device *dev = qdisc_dev(sch); in ets_offload_change()
115 struct ets_sched *q = qdisc_priv(sch); in ets_offload_change()
129 qopt.handle = sch->handle; in ets_offload_change()
[all …]
H A Dsch_tbf.c142 static void tbf_offload_change(struct Qdisc *sch, in tbf_offload_change() argument
145 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_offload_change()
146 struct net_device *dev = qdisc_dev(sch); in tbf_offload_change()
154 qopt.handle = sch->handle; in tbf_offload_change()
155 qopt.parent = sch->parent; in tbf_offload_change()
158 qopt.replace_params.qstats = &sch->qstats; in tbf_offload_change()
163 static void tbf_offload_destroy(struct Qdisc *sch) in tbf_offload_destroy()
165 struct net_device *dev = qdisc_dev(sch); in tbf_offload_destroy()
173 qopt.handle = sch->handle; in tbf_offload_destroy()
174 qopt.parent = sch in tbf_offload_destroy()
161 tbf_offload_destroy(struct Qdisc * sch) tbf_offload_destroy() argument
175 tbf_offload_dump(struct Qdisc * sch) tbf_offload_dump() argument
188 tbf_offload_graft(struct Qdisc * sch,struct Qdisc * new,struct Qdisc * old,struct netlink_ext_ack * extack) tbf_offload_graft() argument
205 tbf_segment(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) tbf_segment() argument
245 tbf_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) tbf_enqueue() argument
275 tbf_dequeue(struct Qdisc * sch) tbf_dequeue() argument
335 tbf_reset(struct Qdisc * sch) tbf_reset() argument
356 tbf_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) tbf_change() argument
484 tbf_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) tbf_init() argument
500 tbf_destroy(struct Qdisc * sch) tbf_destroy() argument
509 tbf_dump(struct Qdisc * sch,struct sk_buff * skb) tbf_dump() argument
551 tbf_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) tbf_dump_class() argument
562 tbf_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) tbf_graft() argument
576 tbf_leaf(struct Qdisc * sch,unsigned long arg) tbf_leaf() argument
582 tbf_find(struct Qdisc * sch,u32 classid) tbf_find() argument
587 tbf_walk(struct Qdisc * sch,struct qdisc_walker * walker) tbf_walk() argument
[all...]
H A Dsch_drr.c43 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid) in drr_find_class() argument
45 struct drr_sched *q = qdisc_priv(sch); in drr_find_class()
58 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class() argument
62 struct drr_sched *q = qdisc_priv(sch); in drr_change_class()
86 quantum = psched_mtu(qdisc_dev(sch)); in drr_change_class()
114 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
133 sch_tree_lock(sch); in drr_change_class()
135 sch_tree_unlock(sch); in drr_change_class()
137 qdisc_class_hash_grow(sch, &q->clhash); in drr_change_class()
143 static void drr_destroy_class(struct Qdisc *sch, struct drr_class *cl) in drr_destroy_class() argument
[all …]
H A Dsch_etf.c75 static bool is_packet_valid(struct Qdisc *sch, struct sk_buff *nskb) in is_packet_valid() argument
77 struct etf_sched_data *q = qdisc_priv(sch); in is_packet_valid()
108 static struct sk_buff *etf_peek_timesortedlist(struct Qdisc *sch) in etf_peek_timesortedlist() argument
110 struct etf_sched_data *q = qdisc_priv(sch); in etf_peek_timesortedlist()
120 static void reset_watchdog(struct Qdisc *sch) in reset_watchdog() argument
122 struct etf_sched_data *q = qdisc_priv(sch); in reset_watchdog()
123 struct sk_buff *skb = etf_peek_timesortedlist(sch); in reset_watchdog()
162 static int etf_enqueue_timesortedlist(struct sk_buff *nskb, struct Qdisc *sch, in etf_enqueue_timesortedlist() argument
165 struct etf_sched_data *q = qdisc_priv(sch); in etf_enqueue_timesortedlist()
170 if (!is_packet_valid(sch, nsk in etf_enqueue_timesortedlist()
200 timesortedlist_drop(struct Qdisc * sch,struct sk_buff * skb,ktime_t now) timesortedlist_drop() argument
231 timesortedlist_remove(struct Qdisc * sch,struct sk_buff * skb) timesortedlist_remove() argument
253 etf_dequeue_timesortedlist(struct Qdisc * sch) etf_dequeue_timesortedlist() argument
343 etf_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) etf_init() argument
417 timesortedlist_clear(struct Qdisc * sch) timesortedlist_clear() argument
433 etf_reset(struct Qdisc * sch) etf_reset() argument
448 etf_destroy(struct Qdisc * sch) etf_destroy() argument
460 etf_dump(struct Qdisc * sch,struct sk_buff * skb) etf_dump() argument
[all...]
H A Dsch_cbs.c81 int (*enqueue)(struct sk_buff *skb, struct Qdisc *sch,
83 struct sk_buff *(*dequeue)(struct Qdisc *sch);
88 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch, in cbs_child_enqueue() argument
99 qstats_backlog_add(sch, len); in cbs_child_enqueue()
100 qdisc_qlen_inc(sch); in cbs_child_enqueue()
105 static int cbs_enqueue_offload(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_offload() argument
108 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_offload()
111 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload()
114 static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_soft() argument
117 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_soft()
131 cbs_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) cbs_enqueue() argument
161 cbs_child_dequeue(struct Qdisc * sch,struct Qdisc * child) cbs_child_dequeue() argument
176 cbs_dequeue_soft(struct Qdisc * sch) cbs_dequeue_soft() argument
231 cbs_dequeue_offload(struct Qdisc * sch) cbs_dequeue_offload() argument
239 cbs_dequeue(struct Qdisc * sch) cbs_dequeue() argument
246 cbs_reset(struct Qdisc * sch) cbs_reset() argument
375 cbs_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) cbs_change() argument
415 cbs_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) cbs_init() argument
447 cbs_destroy(struct Qdisc * sch) cbs_destroy() argument
466 cbs_dump(struct Qdisc * sch,struct sk_buff * skb) cbs_dump() argument
492 cbs_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) cbs_dump_class() argument
506 cbs_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) cbs_graft() argument
522 cbs_leaf(struct Qdisc * sch,unsigned long arg) cbs_leaf() argument
529 cbs_find(struct Qdisc * sch,u32 classid) cbs_find() argument
534 cbs_walk(struct Qdisc * sch,struct qdisc_walker * walker) cbs_walk() argument
[all...]
H A Dsch_dualpi2.c72 struct Qdisc *sch; /* The Classic queue (C-queue) */ member
208 static void dualpi2_calculate_c_protection(struct Qdisc *sch, in dualpi2_calculate_c_protection() argument
213 q->c_protection_init = (s32)psched_mtu(qdisc_dev(sch)) * in dualpi2_calculate_c_protection()
249 * delay, eventually resulting in taildrop behavior once sch->limit is
282 static bool must_drop(struct Qdisc *sch, struct dualpi2_sched_data *q, in must_drop() argument
289 if (sch->qstats.backlog < 2 * psched_mtu(qdisc_dev(sch))) in must_drop()
357 if (TC_H_MAJ(skb->priority) == q->sch->handle && in dualpi2_skb_classify()
385 static int dualpi2_enqueue_skb(struct sk_buff *skb, struct Qdisc *sch, in dualpi2_enqueue_skb() argument
388 struct dualpi2_sched_data *q = qdisc_priv(sch); in dualpi2_enqueue_skb()
391 if (unlikely(qdisc_qlen(sch) >= sch->limit) || in dualpi2_enqueue_skb()
[all …]
H A Dsch_skbprio.c68 static int skbprio_enqueue(struct sk_buff *skb, struct Qdisc *sch, in skbprio_enqueue() argument
72 struct skbprio_sched_data *q = qdisc_priv(sch); in skbprio_enqueue()
83 /* sch->limit can change under us from skbprio_change() */ in skbprio_enqueue()
84 if (sch->q.qlen < READ_ONCE(sch->limit)) { in skbprio_enqueue()
86 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
96 qdisc_qlen_inc(sch); in skbprio_enqueue()
105 return qdisc_drop(skb, sch, to_free); in skbprio_enqueue()
109 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
116 qdisc_qstats_backlog_dec(sch, to_dro in skbprio_enqueue()
139 skbprio_dequeue(struct Qdisc * sch) skbprio_dequeue() argument
166 skbprio_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) skbprio_change() argument
178 skbprio_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) skbprio_init() argument
198 skbprio_dump(struct Qdisc * sch,struct sk_buff * skb) skbprio_dump() argument
210 skbprio_reset(struct Qdisc * sch) skbprio_reset() argument
223 skbprio_destroy(struct Qdisc * sch) skbprio_destroy() argument
232 skbprio_leaf(struct Qdisc * sch,unsigned long arg) skbprio_leaf() argument
237 skbprio_find(struct Qdisc * sch,u32 classid) skbprio_find() argument
242 skbprio_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) skbprio_dump_class() argument
249 skbprio_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) skbprio_dump_class_stats() argument
259 skbprio_walk(struct Qdisc * sch,struct qdisc_walker * arg) skbprio_walk() argument
[all...]
H A Dsch_gred.c92 static inline int gred_wred_mode_check(struct Qdisc *sch) in gred_wred_mode_check() argument
94 struct gred_sched *table = qdisc_priv(sch); in gred_wred_mode_check()
115 struct Qdisc *sch) in gred_backlog() argument
118 return sch->qstats.backlog; in gred_backlog()
165 static int gred_enqueue(struct sk_buff *skb, struct Qdisc *sch, in gred_enqueue() argument
169 struct gred_sched *t = qdisc_priv(sch); in gred_enqueue()
182 if (likely((u64)sch->qstats.backlog + qdisc_pkt_len(skb) <= in gred_enqueue()
183 sch->limit)) in gred_enqueue()
184 return qdisc_enqueue_tail(skb, sch); in gred_enqueue()
214 gred_backlog(t, q, sch)); in gred_enqueue()
261 gred_dequeue(struct Qdisc * sch) gred_dequeue() argument
293 gred_reset(struct Qdisc * sch) gred_reset() argument
311 gred_offload(struct Qdisc * sch,enum tc_gred_command command) gred_offload() argument
354 gred_offload_dump_stats(struct Qdisc * sch) gred_offload_dump_stats() argument
408 gred_change_table_def(struct Qdisc * sch,struct nlattr * dps,struct netlink_ext_ack * extack) gred_change_table_def() argument
481 gred_change_vq(struct Qdisc * sch,int dp,struct tc_gred_qopt * ctl,int prio,u8 * stab,u32 max_P,struct gred_sched_data ** prealloc,struct netlink_ext_ack * extack) gred_change_vq() argument
642 gred_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) gred_change() argument
732 gred_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) gred_init() argument
768 gred_dump(struct Qdisc * sch,struct sk_buff * skb) gred_dump() argument
908 gred_destroy(struct Qdisc * sch) gred_destroy() argument
[all...]
/linux/drivers/s390/cio/
H A Deadm_sch.c61 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() argument
63 union orb *orb = &get_eadm_private(sch)->orb; in eadm_subchannel_start()
68 orb->eadm.intparm = (u32)virt_to_phys(sch); in eadm_subchannel_start()
72 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start()
74 cc = ssch(sch->schid, orb); in eadm_subchannel_start()
77 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start()
88 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() argument
92 cc = csch(sch->schid); in eadm_subchannel_clear()
96 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear()
103 struct subchannel *sch = private->sch; in eadm_subchannel_timeout() local
[all …]
H A Dvfio_ccw_fsm.c21 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_io_helper() local
28 spin_lock_irqsave(&sch->lock, flags); in fsm_io_helper()
30 orb = cp_get_orb(&private->cp, sch); in fsm_io_helper()
37 VFIO_CCW_TRACE_EVENT(5, dev_name(&sch->dev)); in fsm_io_helper()
40 ccode = ssch(sch->schid, orb); in fsm_io_helper()
49 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper()
61 sch->lpm &= ~lpm; in fsm_io_helper()
63 sch->lpm = 0; in fsm_io_helper()
65 if (cio_update_schib(sch)) in fsm_io_helper()
68 ret = sch->lpm ? -EACCES : -ENODEV; in fsm_io_helper()
[all …]
/linux/kernel/sched/ext/
H A Dext.c144 * interval is half of the shortest sch->watchdog_timeout.
262 static void scx_disable(struct scx_sched *sch, enum scx_exit_kind kind);
264 __printf(5, 6) bool __scx_exit(struct scx_sched *sch, in __scx_exit() argument
272 ret = scx_vexit(sch, kind, exit_code, exit_cpu, fmt, args); in __scx_exit()
293 * @sch: sched to test
296 * Test whether @sch is a descendant of @ancestor.
298 bool scx_is_descendant(struct scx_sched *sch, struct scx_sched *ancestor) in scx_is_descendant() argument
300 if (sch->level < ancestor->level) in scx_is_descendant()
302 return sch->ancestors[ancestor->level] == ancestor; in scx_is_descendant()
305 static struct scx_dispatch_q *find_global_dsq(struct scx_sched *sch, s32 cpu) in find_global_dsq() argument
[all …]
H A Darena.c7 * Each chunk added to @sch->arena_pool comes from one
27 s32 scx_arena_pool_init(struct scx_sched *sch) in scx_arena_pool_init() argument
29 if (!sch->arena_map) in scx_arena_pool_init()
32 sch->arena_pool = gen_pool_create(SCX_ARENA_MIN_ORDER, NUMA_NO_NODE); in scx_arena_pool_init()
33 if (!sch->arena_pool) in scx_arena_pool_init()
56 void scx_arena_pool_destroy(struct scx_sched *sch) in scx_arena_pool_destroy() argument
58 if (!sch->arena_pool) in scx_arena_pool_destroy()
60 gen_pool_for_each_chunk(sch->arena_pool, scx_arena_clear_chunk, NULL); in scx_arena_pool_destroy()
61 gen_pool_destroy(sch->arena_pool); in scx_arena_pool_destroy()
62 sch->arena_pool = NULL; in scx_arena_pool_destroy()
[all …]
H A Dsub.h19 void scx_set_task_sched(struct task_struct *p, struct scx_sched *sch);
20 struct cgroup *sch_cgroup(struct scx_sched *sch);
21 void set_cgroup_sched(struct cgroup *cgrp, struct scx_sched *sch);
24 void drain_descendants(struct scx_sched *sch);
25 void scx_sub_disable(struct scx_sched *sch);
28 void scx_free_pshards(struct scx_sched *sch);
29 s32 scx_alloc_pshards(struct scx_sched *sch);
30 void scx_init_root_caps(struct scx_sched *sch);
32 void scx_unbypass_replay_ecaps(struct rq *rq, struct scx_sched *sch);
37 struct scx_dispatch_q *scx_resolve_local_dsq(struct scx_sched *sch, struct rq *rq,
[all …]
H A Dsub.c101 void scx_set_task_sched(struct task_struct *p, struct scx_sched *sch) in scx_set_task_sched() argument
103 rcu_assign_pointer(p->scx.sched, sch); in scx_set_task_sched()
106 struct cgroup *sch_cgroup(struct scx_sched *sch) in sch_cgroup() argument
108 return sch->cgrp; in sch_cgroup()
111 /* for each descendant of @cgrp including self, set ->scx_sched to @sch */
112 void set_cgroup_sched(struct cgroup *cgrp, struct scx_sched *sch) in set_cgroup_sched() argument
118 rcu_assign_pointer(pos->scx_sched, sch); in set_cgroup_sched()
129 scx_arena_free(pshard->sch, cu->cmask_arena_out, in free_pshard()
135 void scx_free_pshards(struct scx_sched *sch) in scx_free_pshards() argument
139 if (!sch->pshard) in scx_free_pshards()
[all …]
H A Dinlines.h30 scx_dispatch_sched(struct scx_sched *sch, struct rq *rq, in scx_dispatch_sched() argument
33 struct scx_dsp_ctx *dspc = &this_cpu_ptr(sch->pcpu)->dsp_ctx; in scx_dispatch_sched()
37 scx_task_on_sched(sch, prev); in scx_dispatch_sched()
39 if (scx_consume_global_dsq(sch, rq)) in scx_dispatch_sched()
42 if (scx_bypass_dsp_enabled(sch)) { in scx_dispatch_sched()
43 /* if @sch is bypassing, only the bypass DSQs are active */ in scx_dispatch_sched()
44 if (scx_bypassing(sch, cpu)) { in scx_dispatch_sched()
45 if (scx_consume_dispatch_q(sch, rq, scx_bypass_dsq(sch, cpu), 0)) in scx_dispatch_sched()
52 * If @sch isn't bypassing but its children are, @sch is in scx_dispatch_sched()
63 struct scx_sched_pcpu *pcpu = per_cpu_ptr(sch->pcpu, cpu); in scx_dispatch_sched()
[all …]
/linux/include/net/
H A Dsch_generic.h71 struct Qdisc *sch,
73 struct sk_buff * (*dequeue)(struct Qdisc *sch);
287 struct tcf_block * (*tcf_block)(struct Qdisc *sch,
316 struct Qdisc *sch,
321 int (*init)(struct Qdisc *sch, struct nlattr *arg,
325 int (*change)(struct Qdisc *sch,
328 void (*attach)(struct Qdisc *sch);
330 void (*change_real_num_tx)(struct Qdisc *sch,
336 void (*ingress_block_set)(struct Qdisc *sch,
338 void (*egress_block_set)(struct Qdisc *sch,
[all …]

12345