| /linux/drivers/gpio/ |
| H A D | gpio-sch.c | 3 * 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 D | sch_fifo.c | 19 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 D | sch_mq.c | 20 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 D | sch_prio.c | 31 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 D | sch_red.c | 44 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 D | sch_ingress.c | 24 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 D | sch_multiq.c | 30 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 D | sch_codel.c | 41 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 D | sch_fq_codel.c | 56 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 D | sch_ets.c | 82 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 D | sch_tbf.c | 142 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 D | sch_drr.c | 43 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 D | sch_etf.c | 75 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 D | sch_cbs.c | 81 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 D | sch_dualpi2.c | 72 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 D | sch_skbprio.c | 68 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 D | sch_gred.c | 92 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 D | eadm_sch.c | 61 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 D | vfio_ccw_fsm.c | 21 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 D | ext.c | 144 * 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 D | arena.c | 7 * 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 D | sub.h | 19 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 D | sub.c | 101 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 D | inlines.h | 30 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 D | sch_generic.h | 71 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 …]
|