| /linux/drivers/gpio/ |
| H A D | gpio-sch.c | 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() 78 reg_val = !!(ioread8(sch->regs + offset) & BIT(bit)); in sch_gpio_reg_get() [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 …]
|
| H A D | device_fsm.c | 42 struct subchannel *sch; in ccw_timeout_log() local 47 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log() 48 private = to_io_private(sch); in ccw_timeout_log() 50 cc = stsch(sch->schid, &schib); in ccw_timeout_log() 60 dev_name(&sch->dev)); in ccw_timeout_log() 62 "vpm: %02x\n", sch->lpm, sch->opm, sch->vpm); in ccw_timeout_log() 127 struct subchannel *sch; in ccw_device_cancel_halt_clear() local 130 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear() 131 ret = cio_cancel_halt_clear(sch, &cdev->private->iretry); in ccw_device_cancel_halt_clear() 168 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids() argument [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(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_free); in pfifo_enqueue() 38 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_tail_enqueue() argument [all …]
|
| H A D | sch_mq.c | 24 static int mq_offload(struct Qdisc *sch, enum tc_mq_command cmd) in mq_offload() argument 26 struct net_device *dev = qdisc_dev(sch); in mq_offload() 29 .handle = sch->handle, in mq_offload() 38 static int mq_offload_stats(struct Qdisc *sch) in mq_offload_stats() argument 42 .handle = sch->handle, in mq_offload_stats() 44 .bstats = &sch->bstats, in mq_offload_stats() 45 .qstats = &sch->qstats, in mq_offload_stats() 49 return qdisc_offload_dump_helper(sch, TC_SETUP_QDISC_MQ, &opt); in mq_offload_stats() 52 static void mq_destroy(struct Qdisc *sch) in mq_destroy() argument 54 struct net_device *dev = qdisc_dev(sch); in mq_destroy() [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 sch->qstats.backlog += len; in prio_enqueue() 89 sch->q.qlen++; 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_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_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() 99 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue() 112 qdisc_qstats_overlimit(sch); in red_enqueue() 120 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue() 135 sch->qstats.backlog += len; in red_enqueue() 136 sch->q.qlen++; in red_enqueue() 139 qdisc_qstats_drop(sch); in red_enqueue() [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 in ets_offload_change() 153 ets_offload_destroy(struct Qdisc * sch) ets_offload_destroy() argument 167 ets_offload_graft(struct Qdisc * sch,struct Qdisc * new,struct Qdisc * old,unsigned long arg,struct netlink_ext_ack * extack) ets_offload_graft() argument 184 ets_offload_dump(struct Qdisc * sch) ets_offload_dump() argument 204 ets_class_change(struct Qdisc * sch,u32 classid,u32 parentid,struct nlattr ** tca,unsigned long * arg,struct netlink_ext_ack * extack) ets_class_change() argument 254 ets_class_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) ets_class_graft() argument 274 ets_class_leaf(struct Qdisc * sch,unsigned long arg) ets_class_leaf() argument 281 ets_class_find(struct Qdisc * sch,u32 classid) ets_class_find() argument 291 ets_class_qlen_notify(struct Qdisc * sch,unsigned long arg) ets_class_qlen_notify() argument 304 ets_class_dump(struct Qdisc * sch,unsigned long arg,struct sk_buff * skb,struct tcmsg * tcm) ets_class_dump() argument 329 ets_class_dump_stats(struct Qdisc * sch,unsigned long arg,struct gnet_dump * d) ets_class_dump_stats() argument 342 ets_qdisc_walk(struct Qdisc * sch,struct qdisc_walker * arg) ets_qdisc_walk() argument 357 ets_qdisc_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) ets_qdisc_tcf_block() argument 370 ets_qdisc_bind_tcf(struct Qdisc * sch,unsigned long parent,u32 classid) ets_qdisc_bind_tcf() argument 376 ets_qdisc_unbind_tcf(struct Qdisc * sch,unsigned long arg) ets_qdisc_unbind_tcf() argument 380 ets_classify(struct sk_buff * skb,struct Qdisc * sch,int * qerr) ets_classify() argument 417 ets_qdisc_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) ets_qdisc_enqueue() argument 453 ets_qdisc_dequeue_skb(struct Qdisc * sch,struct sk_buff * skb) ets_qdisc_dequeue_skb() argument 461 ets_qdisc_dequeue(struct Qdisc * sch) ets_qdisc_dequeue() argument 544 ets_qdisc_quanta_parse(struct Qdisc * sch,struct nlattr * quanta_attr,unsigned int nbands,unsigned int nstrict,unsigned int * quanta,struct netlink_ext_ack * extack) ets_qdisc_quanta_parse() argument 581 ets_qdisc_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) ets_qdisc_change() argument 693 ets_qdisc_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) ets_qdisc_init() argument 713 ets_qdisc_reset(struct Qdisc * sch) ets_qdisc_reset() argument 726 ets_qdisc_destroy(struct Qdisc * sch) ets_qdisc_destroy() argument 737 ets_qdisc_dump(struct Qdisc * sch,struct sk_buff * skb) ets_qdisc_dump() argument [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 sch->qstats.backlog -= qdisc_pkt_len(skb); in dequeue_func() 53 struct Qdisc *sch = ctx; in drop_func() local 55 qdisc_dequeue_drop(sch, skb, SKB_DROP_REASON_QDISC_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_tbf.c | 142 static void tbf_offload_change(struct Qdisc *sch) in tbf_offload_change() argument 144 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_offload_change() 145 struct net_device *dev = qdisc_dev(sch); in tbf_offload_change() 152 qopt.handle = sch->handle; in tbf_offload_change() 153 qopt.parent = sch->parent; in tbf_offload_change() 156 qopt.replace_params.qstats = &sch->qstats; in tbf_offload_change() 161 static void tbf_offload_destroy(struct Qdisc *sch) in tbf_offload_destroy() argument 163 struct net_device *dev = qdisc_dev(sch); in tbf_offload_destroy() 170 qopt.handle = sch->handle; in tbf_offload_destroy() 171 qopt.parent = sch in tbf_offload_destroy() 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_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 sch->q.qlen++; 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), in multiq_dequeue() 118 multiq_peek(struct Qdisc * sch) multiq_peek() argument 148 multiq_reset(struct Qdisc * sch) multiq_reset() argument 159 multiq_destroy(struct Qdisc * sch) multiq_destroy() argument 171 multiq_tune(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) multiq_tune() argument 235 multiq_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) multiq_init() argument 261 multiq_dump(struct Qdisc * sch,struct sk_buff * skb) multiq_dump() argument 280 multiq_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) multiq_graft() argument 294 multiq_leaf(struct Qdisc * sch,unsigned long arg) multiq_leaf() argument 302 multiq_find(struct Qdisc * sch,u32 classid) multiq_find() argument 312 multiq_bind(struct Qdisc * sch,unsigned long parent,u32 classid) multiq_bind() argument 323 multiq_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) multiq_dump_class() argument 333 multiq_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) multiq_dump_class_stats() argument 347 multiq_walk(struct Qdisc * sch,struct qdisc_walker * arg) multiq_walk() argument 361 multiq_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) multiq_tcf_block() 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() 100 sch_tree_lock(sch); in drr_change_class() 103 sch_tree_unlock(sch); in drr_change_class() 116 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class() 135 sch_tree_lock(sch); in drr_change_class() 137 sch_tree_unlock(sch); in drr_change_class() [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, nskb)) { in etf_enqueue_timesortedlist() [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 sch->qstats.drops += i; in fq_codel_drop() 180 sch->qstats.backlog -= len; in fq_codel_drop() 181 sch->q.qlen -= i; in fq_codel_drop() 185 static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_enqueue() argument 258 struct Qdisc *sch = ctx; dequeue_func() local 276 struct Qdisc *sch = ctx; drop_func() local 282 fq_codel_dequeue(struct Qdisc * sch) fq_codel_dequeue() argument 334 fq_codel_reset(struct Qdisc * sch) fq_codel_reset() argument 366 fq_codel_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fq_codel_change() argument 460 fq_codel_destroy(struct Qdisc * sch) fq_codel_destroy() argument 469 fq_codel_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) fq_codel_init() argument 532 fq_codel_dump(struct Qdisc * sch,struct sk_buff * skb) fq_codel_dump() argument 579 fq_codel_dump_stats(struct Qdisc * sch,struct gnet_dump * d) fq_codel_dump_stats() argument 606 fq_codel_leaf(struct Qdisc * sch,unsigned long arg) fq_codel_leaf() argument 611 fq_codel_find(struct Qdisc * sch,u32 classid) fq_codel_find() argument 616 fq_codel_bind(struct Qdisc * sch,unsigned long parent,u32 classid) fq_codel_bind() argument 626 fq_codel_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) fq_codel_tcf_block() argument 636 fq_codel_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) fq_codel_dump_class() argument 643 fq_codel_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) fq_codel_dump_class_stats() argument 690 fq_codel_walk(struct Qdisc * sch,struct qdisc_walker * arg) fq_codel_walk() argument [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() 84 if (sch->q.qlen < READ_ONCE(sch->limit)) { in skbprio_enqueue() 86 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue() 96 sch->q.qlen++; 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_drop); in skbprio_enqueue() 117 qdisc_drop(to_drop, sch, to_free); in skbprio_enqueue() 139 static struct sk_buff *skbprio_dequeue(struct Qdisc *sch) in skbprio_dequeue() 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() 355 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() 441 dualpi2_qdisc_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) dualpi2_qdisc_enqueue() argument 516 dequeue_packet(struct Qdisc * sch,struct dualpi2_sched_data * q,int * credit_change,u64 now) dequeue_packet() argument 575 drop_and_retry(struct dualpi2_sched_data * q,struct sk_buff * skb,struct Qdisc * sch,enum skb_drop_reason reason) drop_and_retry() argument 583 dualpi2_qdisc_dequeue(struct Qdisc * sch) dualpi2_qdisc_dequeue() argument 639 calculate_probability(struct Qdisc * sch) calculate_probability() argument 677 get_memory_limit(struct Qdisc * sch,u32 limit) get_memory_limit() argument 712 struct Qdisc *sch = q->sch; dualpi2_timer() local 758 dualpi2_change(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) dualpi2_change() argument 888 dualpi2_reset_default(struct Qdisc * sch) dualpi2_reset_default() argument 913 dualpi2_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) dualpi2_init() argument 945 dualpi2_dump(struct Qdisc * sch,struct sk_buff * skb) dualpi2_dump() argument 1021 dualpi2_dump_stats(struct Qdisc * sch,struct gnet_dump * d) dualpi2_dump_stats() argument 1048 dualpi2_reset(struct Qdisc * sch) dualpi2_reset() argument 1067 dualpi2_destroy(struct Qdisc * sch) dualpi2_destroy() argument 1078 dualpi2_leaf(struct Qdisc * sch,unsigned long arg) dualpi2_leaf() argument 1083 dualpi2_find(struct Qdisc * sch,u32 classid) dualpi2_find() argument 1088 dualpi2_bind(struct Qdisc * sch,unsigned long parent,u32 classid) dualpi2_bind() argument 1098 dualpi2_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) dualpi2_tcf_block() argument 1108 dualpi2_walk(struct Qdisc * sch,struct qdisc_walker * arg) dualpi2_walk() argument [all...] |
| H A D | sch_pie.c | 30 struct Qdisc *sch; member 33 bool pie_drop_early(struct Qdisc *sch, struct pie_params *params, in pie_drop_early() argument 38 u32 mtu = psched_mtu(qdisc_dev(sch)); in pie_drop_early() 85 static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pie_qdisc_enqueue() argument 89 struct pie_sched_data *q = qdisc_priv(sch); in pie_qdisc_enqueue() 92 if (unlikely(qdisc_qlen(sch) >= sch->limit)) { in pie_qdisc_enqueue() 99 if (!pie_drop_early(sch, &q->params, &q->vars, sch->qstats.backlog, in pie_qdisc_enqueue() 118 if (qdisc_qlen(sch) > q->stats.maxq) in pie_qdisc_enqueue() 119 q->stats.maxq = qdisc_qlen(sch); in pie_qdisc_enqueue() 121 return qdisc_enqueue_tail(skb, sch); in pie_qdisc_enqueue() [all …]
|
| H A D | sch_mqprio.c | 34 static int mqprio_enable_offload(struct Qdisc *sch, in mqprio_enable_offload() argument 38 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_enable_offload() 39 struct net_device *dev = qdisc_dev(sch); in mqprio_enable_offload() 80 static void mqprio_disable_offload(struct Qdisc *sch) in mqprio_disable_offload() argument 83 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_disable_offload() 84 struct net_device *dev = qdisc_dev(sch); in mqprio_disable_offload() 95 static void mqprio_destroy(struct Qdisc *sch) in mqprio_destroy() argument 97 struct net_device *dev = qdisc_dev(sch); in mqprio_destroy() 98 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_destroy() 110 mqprio_disable_offload(sch); in mqprio_destroy() [all …]
|
| H A D | sch_choke.c | 113 static void choke_drop_by_idx(struct Qdisc *sch, unsigned int idx, in choke_drop_by_idx() argument 116 struct choke_sched_data *q = qdisc_priv(sch); in choke_drop_by_idx() 126 --sch->q.qlen; in choke_drop_by_idx() 127 qdisc_qstats_backlog_dec(sch, skb); in choke_drop_by_idx() 128 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb)); in choke_drop_by_idx() 129 qdisc_drop(skb, sch, to_free); in choke_drop_by_idx() 212 static int choke_enqueue(struct sk_buff *skb, struct Qdisc *sch, in choke_enqueue() argument 215 struct choke_sched_data *q = qdisc_priv(sch); in choke_enqueue() 220 q->vars.qavg = red_calc_qavg(p, &q->vars, sch->q.qlen); in choke_enqueue() 233 choke_drop_by_idx(sch, idx, to_free); in choke_enqueue() [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(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() [all …]
|
| /linux/kernel/sched/ |
| H A D | ext.c | 198 static void scx_kick_cpu(struct scx_sched *sch, s32 cpu, u64 flags); 199 static bool scx_vexit(struct scx_sched *sch, enum scx_exit_kind kind, 202 static __printf(4, 5) bool scx_exit(struct scx_sched *sch, in scx_exit() argument 210 ret = scx_vexit(sch, kind, exit_code, fmt, args); in scx_exit() 216 #define scx_error(sch, fmt, args...) scx_exit((sch), SCX_EXIT_ERROR, 0, fmt, ##args) argument 217 #define scx_verror(sch, fmt, args) scx_vexit((sch), SCX_EXIT_ERROR, 0, fmt, args) argument 219 #define SCX_HAS_OP(sch, op) test_bit(SCX_OP_IDX(op), (sch)->has_op) argument 247 static struct scx_dispatch_q *find_global_dsq(struct scx_sched *sch, in find_global_dsq() argument 250 return sch->global_dsqs[cpu_to_node(task_cpu(p))]; in find_global_dsq() 253 static struct scx_dispatch_q *find_user_dsq(struct scx_sched *sch, u64 dsq_id) in find_user_dsq() argument [all …]
|
| H A D | ext_idle.c | 736 struct scx_sched *sch = scx_root; in __scx_update_idle() local 771 if (SCX_HAS_OP(sch, update_idle) && do_notify && !scx_rq_bypassing(rq)) in __scx_update_idle() 772 SCX_CALL_OP(sch, SCX_KF_REST, update_idle, rq, cpu_of(rq), idle); in __scx_update_idle() 822 static int validate_node(struct scx_sched *sch, int node) in validate_node() argument 825 scx_error(sch, "per-node idle tracking is disabled"); in validate_node() 835 scx_error(sch, "invalid node %d", node); in validate_node() 841 scx_error(sch, "unavailable node %d", node); in validate_node() 850 static bool check_builtin_idle_enabled(struct scx_sched *sch) in check_builtin_idle_enabled() argument 855 scx_error(sch, "built-in idle tracking is disabled"); in check_builtin_idle_enabled() 885 static s32 select_cpu_from_kfunc(struct scx_sched *sch, struct task_struct *p, in select_cpu_from_kfunc() argument [all …]
|
| /linux/include/net/ |
| H A D | sch_generic.h | 68 struct Qdisc *sch, 70 struct sk_buff * (*dequeue)(struct Qdisc *sch); 283 struct tcf_block * (*tcf_block)(struct Qdisc *sch, 312 struct Qdisc *sch, 317 int (*init)(struct Qdisc *sch, struct nlattr *arg, 321 int (*change)(struct Qdisc *sch, 324 void (*attach)(struct Qdisc *sch); 326 void (*change_real_num_tx)(struct Qdisc *sch, 332 void (*ingress_block_set)(struct Qdisc *sch, 334 void (*egress_block_set)(struct Qdisc *sch, 716 qdisc_offload_graft_helper(struct net_device * dev,struct Qdisc * sch,struct Qdisc * new,struct Qdisc * old,enum tc_setup_type type,void * type_data,struct netlink_ext_ack * extack) qdisc_offload_graft_helper() argument 845 qdisc_calculate_pkt_len(struct sk_buff * skb,const struct Qdisc * sch) qdisc_calculate_pkt_len() argument 855 qdisc_enqueue(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) qdisc_enqueue() argument 878 qdisc_bstats_cpu_update(struct Qdisc * sch,const struct sk_buff * skb) qdisc_bstats_cpu_update() argument 884 qdisc_bstats_update(struct Qdisc * sch,const struct sk_buff * skb) qdisc_bstats_update() argument 890 qdisc_qstats_backlog_dec(struct Qdisc * sch,const struct sk_buff * skb) qdisc_qstats_backlog_dec() argument 896 qdisc_qstats_cpu_backlog_dec(struct Qdisc * sch,const struct sk_buff * skb) qdisc_qstats_cpu_backlog_dec() argument 902 qdisc_qstats_backlog_inc(struct Qdisc * sch,const struct sk_buff * skb) qdisc_qstats_backlog_inc() argument 908 qdisc_qstats_cpu_backlog_inc(struct Qdisc * sch,const struct sk_buff * skb) qdisc_qstats_cpu_backlog_inc() argument 914 qdisc_qstats_cpu_qlen_inc(struct Qdisc * sch) qdisc_qstats_cpu_qlen_inc() argument 919 qdisc_qstats_cpu_qlen_dec(struct Qdisc * sch) qdisc_qstats_cpu_qlen_dec() argument 924 qdisc_qstats_cpu_requeues_inc(struct Qdisc * sch) qdisc_qstats_cpu_requeues_inc() argument 929 __qdisc_qstats_drop(struct Qdisc * sch,int count) __qdisc_qstats_drop() argument 944 qdisc_qstats_drop(struct Qdisc * sch) qdisc_qstats_drop() argument 949 qdisc_qstats_cpu_drop(struct Qdisc * sch) qdisc_qstats_cpu_drop() argument 954 qdisc_qstats_overlimit(struct Qdisc * sch) qdisc_qstats_overlimit() argument 959 qdisc_qstats_copy(struct gnet_dump * d,struct Qdisc * sch) qdisc_qstats_copy() argument 966 qdisc_qstats_qlen_backlog(struct Qdisc * sch,__u32 * qlen,__u32 * backlog) qdisc_qstats_qlen_backlog() argument 976 qdisc_purge_queue(struct Qdisc * sch) qdisc_purge_queue() argument 1001 qdisc_enqueue_tail(struct sk_buff * skb,struct Qdisc * sch) qdisc_enqueue_tail() argument 1034 qdisc_dequeue_internal(struct Qdisc * sch,bool direct) qdisc_dequeue_internal() argument 1054 qdisc_dequeue_head(struct Qdisc * sch) qdisc_dequeue_head() argument 1116 __qdisc_queue_drop_head(struct Qdisc * sch,struct qdisc_skb_head * qh,struct sk_buff ** to_free) __qdisc_queue_drop_head() argument 1133 qdisc_peek_head(struct Qdisc * sch) qdisc_peek_head() argument 1141 qdisc_peek_dequeued(struct Qdisc * sch) qdisc_peek_dequeued() argument 1160 qdisc_update_stats_at_dequeue(struct Qdisc * sch,struct sk_buff * skb) qdisc_update_stats_at_dequeue() argument 1174 qdisc_update_stats_at_enqueue(struct Qdisc * sch,unsigned int pkt_len) qdisc_update_stats_at_enqueue() argument 1187 qdisc_dequeue_peeked(struct Qdisc * sch) qdisc_dequeue_peeked() argument 1223 qdisc_reset_queue(struct Qdisc * sch) qdisc_reset_queue() argument 1228 qdisc_replace(struct Qdisc * sch,struct Qdisc * new,struct Qdisc ** pold) qdisc_replace() argument 1243 rtnl_qdisc_drop(struct sk_buff * skb,struct Qdisc * sch) rtnl_qdisc_drop() argument 1249 qdisc_drop_cpu(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) qdisc_drop_cpu() argument 1258 qdisc_drop(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) qdisc_drop() argument 1267 qdisc_drop_reason(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free,enum skb_drop_reason reason) qdisc_drop_reason() argument 1275 qdisc_drop_all(struct sk_buff * skb,struct Qdisc * sch,struct sk_buff ** to_free) qdisc_drop_all() argument [all...] |