Home
last modified time | relevance | path

Searched refs:sch (Results 1 – 25 of 88) sorted by relevance

1234

/linux/drivers/gpio/
H A Dgpio-sch.c50 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 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 Ddevice.c273 struct subchannel *sch; in ccw_device_set_offline() local
287 sch = to_subchannel(cdev->dev.parent); in ccw_device_set_offline()
308 io_subchannel_quiesce(sch); in ccw_device_set_offline()
543 struct subchannel *sch; in available_show() local
553 sch = to_subchannel(dev->parent); in available_show()
554 if (!sch->lpm) in available_show()
568 struct subchannel *sch = to_subchannel(dev); in initiate_logging() local
571 rc = chsc_siosl(sch->schid); in initiate_logging()
574 sch->schid.ssid, sch->schid.sch_no, rc); in initiate_logging()
578 sch->schid.ssid, sch->schid.sch_no); in initiate_logging()
[all …]
H A Dcss.c70 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() local
75 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch()
77 rc = cb->fn_known_sch(sch, cb->data); in call_fn_known_sch()
94 struct subchannel *sch; in call_fn_all_sch() local
97 sch = get_subchannel_by_schid(schid); in call_fn_all_sch()
98 if (sch) { in call_fn_all_sch()
100 rc = cb->fn_known_sch(sch, cb->data); in call_fn_all_sch()
101 put_device(&sch->dev); in call_fn_all_sch()
150 static void css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument
152 spin_lock_init(&sch->lock); in css_sch_create_locks()
[all …]
H A Dvfio_ccw_drv.c37 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() argument
39 struct vfio_ccw_parent *parent = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_quiesce()
55 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce()
59 sch->schid.ssid, sch->schid.sch_no); in vfio_ccw_sch_quiesce()
68 spin_unlock_irq(&sch->lock); in vfio_ccw_sch_quiesce()
75 spin_lock_irq(&sch->lock); in vfio_ccw_sch_quiesce()
76 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce()
131 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq() argument
133 struct vfio_ccw_parent *parent = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_irq()
144 sch->schid.cssid, sch->schid.ssid, in vfio_ccw_sch_irq()
[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 …]
H A Ddevice_fsm.c42 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 Dsch_fifo.c19 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 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()
[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 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 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()
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 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_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_tbf.c142 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 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 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), 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 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 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()
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 Dsch_fq_codel.c76 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
188 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_enqueue()
[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, nskb)) { in etf_enqueue_timesortedlist()
[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()
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 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()
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 Dsch_pie.c30 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 …]
/linux/kernel/sched/
H A Dext.c199 static void scx_kick_cpu(struct scx_sched *sch, s32 cpu, u64 flags);
200 static bool scx_vexit(struct scx_sched *sch, enum scx_exit_kind kind,
203 static __printf(4, 5) bool scx_exit(struct scx_sched *sch, in scx_exit() argument
211 ret = scx_vexit(sch, kind, exit_code, fmt, args); in scx_exit()
217 #define scx_error(sch, fmt, args...) scx_exit((sch), SCX_EXIT_ERROR, 0, fmt, ##args) argument
218 #define scx_verror(sch, fmt, args) scx_vexit((sch), SCX_EXIT_ERROR, 0, fmt, args) argument
220 #define SCX_HAS_OP(sch, op) test_bit(SCX_OP_IDX(op), (sch) argument
248 find_global_dsq(struct scx_sched * sch,struct task_struct * p) find_global_dsq() argument
254 find_user_dsq(struct scx_sched * sch,u64 dsq_id) find_user_dsq() argument
311 SCX_CALL_OP(sch,mask,op,rq,args...) global() argument
326 SCX_CALL_OP_RET(sch,mask,op,rq,args...) global() argument
355 SCX_CALL_OP_TASK(sch,mask,op,rq,task,args...) global() argument
363 SCX_CALL_OP_TASK_RET(sch,mask,op,rq,task,args...) global() argument
373 SCX_CALL_OP_2TASKS_RET(sch,mask,op,rq,task0,task1,args...) global() argument
386 scx_kf_allowed(struct scx_sched * sch,u32 mask) scx_kf_allowed() argument
417 scx_kf_allowed_on_arg_tasks(struct scx_sched * sch,u32 mask,struct task_struct * p) scx_kf_allowed_on_arg_tasks() argument
689 scx_add_event(sch,name,cnt) global() argument
702 __scx_add_event(sch,name,cnt) global() argument
781 ops_cpu_valid(struct scx_sched * sch,s32 cpu,const char * where) ops_cpu_valid() argument
804 ops_sanitize_err(struct scx_sched * sch,const char * ops_name,s32 err) ops_sanitize_err() argument
987 refill_task_slice_dfl(struct scx_sched * sch,struct task_struct * p) refill_task_slice_dfl() argument
1017 dispatch_enqueue(struct scx_sched * sch,struct scx_dispatch_q * dsq,struct task_struct * p,u64 enq_flags) dispatch_enqueue() argument
1223 find_dsq_for_dispatch(struct scx_sched * sch,struct rq * rq,u64 dsq_id,struct task_struct * p) find_dsq_for_dispatch() argument
1255 mark_direct_dispatch(struct scx_sched * sch,struct task_struct * ddsp_task,struct task_struct * p,u64 dsq_id,u64 enq_flags) mark_direct_dispatch() argument
1286 direct_dispatch(struct scx_sched * sch,struct task_struct * p,u64 enq_flags) direct_dispatch() argument
1351 struct scx_sched *sch = scx_root; do_enqueue_task() local
1475 struct scx_sched *sch = scx_root; enqueue_task_scx() local
1525 struct scx_sched *sch = scx_root; ops_dequeue() local
1574 struct scx_sched *sch = scx_root; dequeue_task_scx() local
1618 struct scx_sched *sch = scx_root; yield_task_scx() local
1629 struct scx_sched *sch = scx_root; yield_to_task_scx() local
1715 task_can_run_on_remote_rq(struct scx_sched * sch,struct task_struct * p,struct rq * rq,bool enforce) task_can_run_on_remote_rq() argument
1844 move_task_between_dsqs(struct scx_sched * sch,struct task_struct * p,u64 enq_flags,struct scx_dispatch_q * src_dsq,struct scx_dispatch_q * dst_dsq) move_task_between_dsqs() argument
1897 consume_dispatch_q(struct scx_sched * sch,struct rq * rq,struct scx_dispatch_q * dsq) consume_dispatch_q() argument
1944 consume_global_dsq(struct scx_sched * sch,struct rq * rq) consume_global_dsq() argument
1966 dispatch_to_local_dsq(struct scx_sched * sch,struct rq * rq,struct scx_dispatch_q * dst_dsq,struct task_struct * p,u64 enq_flags) dispatch_to_local_dsq() argument
2066 finish_dispatch(struct scx_sched * sch,struct rq * rq,struct task_struct * p,unsigned long qseq_at_dispatch,u64 dsq_id,u64 enq_flags) finish_dispatch() argument
2128 flush_dispatch_buf(struct scx_sched * sch,struct rq * rq) flush_dispatch_buf() argument
2159 struct scx_sched *sch = scx_root; balance_one() local
2294 struct scx_sched *sch = scx_root; process_ddsp_deferred_locals() local
2308 struct scx_sched *sch = scx_root; set_next_task_scx() local
2364 struct scx_sched *sch = scx_root; switch_class() local
2405 struct scx_sched *sch = scx_root; put_prev_task_scx() local
2559 struct scx_sched *sch = rcu_dereference_sched(scx_root); do_pick_task_scx() local
2627 struct scx_sched *sch = scx_root; scx_prio_less() local
2647 struct scx_sched *sch = scx_root; select_task_rq_scx() local
2708 struct scx_sched *sch = scx_root; set_cpus_allowed_scx() local
2730 struct scx_sched *sch = scx_root; handle_hotplug() local
2780 struct scx_sched *sch; check_rq_for_timeouts() local
2827 struct scx_sched *sch; scx_tick() local
2852 struct scx_sched *sch = scx_root; task_tick_scx() local
2931 struct scx_sched *sch = scx_root; scx_init_task() local
2984 struct scx_sched *sch = scx_root; scx_enable_task() local
3012 struct scx_sched *sch = scx_root; scx_disable_task() local
3025 struct scx_sched *sch = scx_root; scx_exit_task() local
3190 struct scx_sched *sch = scx_root; reweight_task_scx() local
3209 struct scx_sched *sch = scx_root; switching_to_scx() local
3284 struct scx_sched *sch = scx_root; scx_tg_online() local
3313 struct scx_sched *sch = scx_root; scx_tg_offline() local
3326 struct scx_sched *sch = scx_root; scx_cgroup_can_attach() local
3375 struct scx_sched *sch = scx_root; scx_cgroup_move_task() local
3394 struct scx_sched *sch = scx_root; scx_cgroup_cancel_attach() local
3412 struct scx_sched *sch = scx_root; scx_group_set_weight() local
3428 struct scx_sched *sch = scx_root; scx_group_set_idle() local
3445 struct scx_sched *sch = scx_root; scx_group_set_bandwidth() local
3549 destroy_dsq(struct scx_sched * sch,u64 dsq_id) destroy_dsq() argument
3589 scx_cgroup_exit(struct scx_sched * sch) scx_cgroup_exit() argument
3614 scx_cgroup_init(struct scx_sched * sch) scx_cgroup_init() argument
3657 scx_cgroup_exit(struct scx_sched * sch) scx_cgroup_exit() argument
3658 scx_cgroup_init(struct scx_sched * sch) scx_cgroup_init() argument
3725 struct scx_sched *sch = container_of(rcu_work, struct scx_sched, rcu_work); scx_sched_free_rcu_work() local
3757 struct scx_sched *sch = container_of(kobj, struct scx_sched, kobj); scx_kobj_release() local
3766 struct scx_sched *sch = container_of(kobj, struct scx_sched, kobj); scx_attr_ops_show() local
3779 struct scx_sched *sch = container_of(kobj, struct scx_sched, kobj); scx_attr_events_show() local
3812 const struct scx_sched *sch = container_of(kobj, struct scx_sched, kobj); scx_uevent() local
3836 struct scx_sched *sch; scx_allow_ttwu_queue() local
3867 struct scx_sched *sch; handle_lockup() local
3947 bypass_lb_cpu(struct scx_sched * sch,struct rq * rq,struct cpumask * donee_mask,struct cpumask * resched_mask,u32 nr_donor_target,u32 nr_donee_target) bypass_lb_cpu() argument
4043 bypass_lb_node(struct scx_sched * sch,int node) bypass_lb_node() argument
4125 struct scx_sched *sch; scx_bypass_lb_timerfn() local
4178 struct scx_sched *sch; scx_bypass() local
4339 struct scx_sched *sch = container_of(work, struct scx_sched, disable_work); scx_disable_workfn() local
4492 scx_claim_exit(struct scx_sched * sch,enum scx_exit_kind kind) scx_claim_exit() argument
4512 struct scx_sched *sch; scx_disable() local
4642 struct scx_sched *sch = scx_root; scx_dump_task() local
4685 struct scx_sched *sch = scx_root; scx_dump_state() local
4831 struct scx_sched *sch = container_of(irq_work, struct scx_sched, error_irq_work); scx_error_irq_workfn() local
4840 scx_vexit(struct scx_sched * sch,enum scx_exit_kind kind,s64 exit_code,const char * fmt,va_list args) scx_vexit() argument
4898 struct scx_sched *sch; scx_alloc_and_add_sched() local
4978 check_hotplug_seq(struct scx_sched * sch,const struct sched_ext_ops * ops) check_hotplug_seq() argument
5002 validate_ops(struct scx_sched * sch,const struct sched_ext_ops * ops) validate_ops() argument
5050 struct scx_sched *sch; scx_enable_workfn() local
5470 struct scx_sched *sch = ops->priv; bpf_scx_unreg() local
5754 struct scx_sched *sch = scx_root; print_scx_info() local
5858 scx_dsq_insert_preamble(struct scx_sched * sch,struct task_struct * p,u64 enq_flags) scx_dsq_insert_preamble() argument
5879 scx_dsq_insert_commit(struct scx_sched * sch,struct task_struct * p,u64 dsq_id,u64 enq_flags) scx_dsq_insert_commit() argument
5948 struct scx_sched *sch; scx_bpf_dsq_insert___v2() local
5977 scx_dsq_insert_vtime(struct scx_sched * sch,struct task_struct * p,u64 dsq_id,u64 slice,u64 vtime,u64 enq_flags) scx_dsq_insert_vtime() argument
6037 struct scx_sched *sch; __scx_bpf_dsq_insert_vtime() local
6055 struct scx_sched *sch; scx_bpf_dsq_insert_vtime() local
6083 struct scx_sched *sch = scx_root; scx_dsq_move() local
6176 struct scx_sched *sch; scx_bpf_dispatch_nr_slots() local
6199 struct scx_sched *sch; scx_bpf_dispatch_cancel() local
6234 struct scx_sched *sch; scx_bpf_dsq_move_to_local() local
6435 struct scx_sched *sch; scx_bpf_reenqueue_local() local
6476 struct scx_sched *sch; scx_bpf_create_dsq() local
6552 scx_kick_cpu(struct scx_sched * sch,s32 cpu,u64 flags) scx_kick_cpu() argument
6617 struct scx_sched *sch; scx_bpf_kick_cpu() local
6634 struct scx_sched *sch; scx_bpf_dsq_nr_queued() local
6680 struct scx_sched *sch; scx_bpf_destroy_dsq() local
6703 struct scx_sched *sch; bpf_iter_scx_dsq_new() local
6817 struct scx_sched *sch; scx_bpf_dsq_peek() local
6840 __bstr_format(struct scx_sched * sch,u64 * data_buf,char * line_buf,size_t line_size,char * fmt,unsigned long long * data,u32 data__sz) __bstr_format() argument
6877 bstr_format(struct scx_sched * sch,struct scx_bstr_buf * buf,char * fmt,unsigned long long * data,u32 data__sz) bstr_format() argument
6899 struct scx_sched *sch; scx_bpf_exit_bstr() local
6922 struct scx_sched *sch; scx_bpf_error_bstr() local
6948 struct scx_sched *sch; scx_bpf_dump_bstr() local
7019 struct scx_sched *sch; scx_bpf_cpuperf_cap() local
7046 struct scx_sched *sch; scx_bpf_cpuperf_cur() local
7073 struct scx_sched *sch; scx_bpf_cpuperf_set() local
7190 struct scx_sched *sch; scx_bpf_cpu_rq() local
7219 struct scx_sched *sch; scx_bpf_locked_rq() local
7245 struct scx_sched *sch; scx_bpf_cpu_curr() local
7275 struct scx_sched *sch; scx_bpf_task_cgroup() local
7356 scx_read_events(struct scx_sched * sch,struct scx_event_stats * events) scx_read_events() argument
7385 struct scx_sched *sch; scx_bpf_events() local
[all...]
H A Dext_idle.c735 struct scx_sched *sch = scx_root; in __scx_update_idle() local
770 if (SCX_HAS_OP(sch, update_idle) && do_notify && !scx_rq_bypassing(rq)) in __scx_update_idle()
771 SCX_CALL_OP(sch, SCX_KF_REST, update_idle, rq, cpu_of(rq), idle); in __scx_update_idle()
821 static int validate_node(struct scx_sched *sch, int node) in validate_node() argument
824 scx_error(sch, "per-node idle tracking is disabled"); in validate_node()
834 scx_error(sch, "invalid node %d", node); in validate_node()
840 scx_error(sch, "unavailable node %d", node); in validate_node()
849 static bool check_builtin_idle_enabled(struct scx_sched *sch) in check_builtin_idle_enabled() argument
854 scx_error(sch, "built-in idle tracking is disabled"); in check_builtin_idle_enabled()
891 static s32 select_cpu_from_kfunc(struct scx_sched *sch, struc in select_cpu_from_kfunc()
884 select_cpu_from_kfunc(struct scx_sched * sch,struct task_struct * p,s32 prev_cpu,u64 wake_flags,const struct cpumask * allowed,u64 flags) select_cpu_from_kfunc() argument
951 struct scx_sched *sch; scx_bpf_cpu_node() local
979 struct scx_sched *sch; scx_bpf_select_cpu_dfl() local
1032 struct scx_sched *sch; __scx_bpf_select_cpu_and() local
1050 struct scx_sched *sch; scx_bpf_select_cpu_and() local
1073 struct scx_sched *sch; scx_bpf_get_idle_cpumask_node() local
1097 struct scx_sched *sch; scx_bpf_get_idle_cpumask() local
1128 struct scx_sched *sch; scx_bpf_get_idle_smtmask_node() local
1156 struct scx_sched *sch; scx_bpf_get_idle_smtmask() local
1205 struct scx_sched *sch; scx_bpf_test_and_clear_cpu_idle() local
1244 struct scx_sched *sch; scx_bpf_pick_idle_cpu_node() local
1284 struct scx_sched *sch; scx_bpf_pick_idle_cpu() local
1327 struct scx_sched *sch; scx_bpf_pick_any_cpu_node() local
1374 struct scx_sched *sch; scx_bpf_pick_any_cpu() local
[all...]
/linux/include/net/
H A Dsch_generic.h68 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,
[all …]

1234