Home
last modified time | relevance | path

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

/linux-4.4.14/drivers/s390/cio/
Deadm_sch.c64 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() argument
66 union orb *orb = &get_eadm_private(sch)->orb; in eadm_subchannel_start()
71 orb->eadm.intparm = (u32)(addr_t)sch; in eadm_subchannel_start()
75 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start()
77 cc = ssch(sch->schid, orb); in eadm_subchannel_start()
80 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start()
91 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() argument
95 cc = csch(sch->schid); in eadm_subchannel_clear()
99 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear()
105 struct subchannel *sch = (struct subchannel *) data; in eadm_subchannel_timeout() local
[all …]
Dcio.c90 int cio_set_options(struct subchannel *sch, int flags) in cio_set_options() argument
92 struct io_subchannel_private *priv = to_io_private(sch); in cio_set_options()
101 cio_start_handle_notoper(struct subchannel *sch, __u8 lpm) in cio_start_handle_notoper() argument
106 sch->lpm &= ~lpm; in cio_start_handle_notoper()
108 sch->lpm = 0; in cio_start_handle_notoper()
111 "subchannel 0.%x.%04x!\n", sch->schid.ssid, in cio_start_handle_notoper()
112 sch->schid.sch_no); in cio_start_handle_notoper()
114 if (cio_update_schib(sch)) in cio_start_handle_notoper()
117 sprintf(dbf_text, "no%s", dev_name(&sch->dev)); in cio_start_handle_notoper()
119 CIO_HEX_EVENT(0, &sch->schib, sizeof (struct schib)); in cio_start_handle_notoper()
[all …]
Dcss.c67 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() local
72 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch()
74 rc = cb->fn_known_sch(sch, cb->data); in call_fn_known_sch()
91 struct subchannel *sch; in call_fn_all_sch() local
94 sch = get_subchannel_by_schid(schid); in call_fn_all_sch()
95 if (sch) { in call_fn_all_sch()
97 rc = cb->fn_known_sch(sch, cb->data); in call_fn_all_sch()
98 put_device(&sch->dev); in call_fn_all_sch()
147 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument
149 sch->lock = kmalloc(sizeof(*sch->lock), GFP_KERNEL); in css_sch_create_locks()
[all …]
Ddevice.c150 static int io_subchannel_prepare(struct subchannel *sch) in io_subchannel_prepare() argument
157 cdev = sch_get_cdev(sch); in io_subchannel_prepare()
220 struct subchannel *sch = to_subchannel(dev); in chpids_show() local
221 struct chsc_ssd_info *ssd = &sch->ssd_info; in chpids_show()
240 struct subchannel *sch = to_subchannel(dev); in pimpampom_show() local
241 struct pmcw *pmcw = &sch->schib.pmcw; in pimpampom_show()
323 struct subchannel *sch; in ccw_device_set_offline() local
337 sch = to_subchannel(cdev->dev.parent); in ccw_device_set_offline()
358 io_subchannel_quiesce(sch); in ccw_device_set_offline()
592 struct subchannel *sch; in available_show() local
[all …]
Ddevice_fsm.c39 struct subchannel *sch; in ccw_timeout_log() local
44 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log()
45 private = to_io_private(sch); in ccw_timeout_log()
47 cc = stsch_err(sch->schid, &schib); in ccw_timeout_log()
57 dev_name(&sch->dev)); in ccw_timeout_log()
59 "vpm: %02x\n", sch->lpm, sch->opm, sch->vpm); in ccw_timeout_log()
138 struct subchannel *sch; in ccw_device_cancel_halt_clear() local
141 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear()
142 if (cio_update_schib(sch)) in ccw_device_cancel_halt_clear()
144 if (!sch->schib.pmcw.ena) in ccw_device_cancel_halt_clear()
[all …]
Ddevice_ops.c140 struct subchannel *sch; in ccw_device_clear() local
145 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear()
146 if (!sch->schib.pmcw.ena) in ccw_device_clear()
154 ret = cio_clear(sch); in ccw_device_clear()
188 struct subchannel *sch; in ccw_device_start_key() local
193 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_key()
194 if (!sch->schib.pmcw.ena) in ccw_device_start_key()
209 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_key()
210 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS)) || in ccw_device_start_key()
213 ret = cio_set_options (sch, flags); in ccw_device_start_key()
[all …]
Ddevice_pgid.c34 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_done() local
42 if (sch->config.mp != mpath) { in verify_done()
43 sch->config.mp = mpath; in verify_done()
44 rc = cio_commit_config(sch); in verify_done()
49 sch->vpm); in verify_done()
73 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_do() local
76 req->lpm = lpm_adjust(req->lpm, sch->schib.pmcw.pam & sch->opm & in nop_do()
85 verify_done(cdev, sch->vpm ? 0 : -EACCES); in nop_do()
105 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_callback() local
110 sch->vpm |= req->lpm; in nop_callback()
[all …]
Dchsc_sch.c57 static void chsc_subchannel_irq(struct subchannel *sch) in chsc_subchannel_irq() argument
59 struct chsc_private *private = dev_get_drvdata(&sch->dev); in chsc_subchannel_irq()
70 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_irq()
75 cio_update_schib(sch); in chsc_subchannel_irq()
77 put_device(&sch->dev); in chsc_subchannel_irq()
80 static int chsc_subchannel_probe(struct subchannel *sch) in chsc_subchannel_probe() argument
86 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_probe()
87 sch->isc = CHSC_SCH_ISC; in chsc_subchannel_probe()
91 dev_set_drvdata(&sch->dev, private); in chsc_subchannel_probe()
92 ret = cio_enable_subchannel(sch, (u32)(unsigned long)sch); in chsc_subchannel_probe()
[all …]
Dccwreq.c77 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccwreq_do() local
89 rc = cio_start(sch, cp, (u8) req->mask); in ccwreq_do()
105 rc = cio_clear(sch); in ccwreq_do()
152 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_cancel() local
159 rc = cio_clear(sch); in ccw_request_cancel()
327 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout() local
331 if (cio_update_schib(sch)) in ccw_request_timeout()
335 if ((0x80 >> chp) & sch->schib.pmcw.lpum) in ccw_request_timeout()
339 scsw_cstat(&sch->schib.scsw), in ccw_request_timeout()
340 scsw_dstat(&sch->schib.scsw), in ccw_request_timeout()
[all …]
Dchsc.c89 u16 sch; /* subchannel */ member
209 static int s390_subchannel_remove_chpid(struct subchannel *sch, void *data) in s390_subchannel_remove_chpid() argument
211 spin_lock_irq(sch->lock); in s390_subchannel_remove_chpid()
212 if (sch->driver && sch->driver->chp_event) in s390_subchannel_remove_chpid()
213 if (sch->driver->chp_event(sch, data, CHP_OFFLINE) != 0) in s390_subchannel_remove_chpid()
215 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid()
219 sch->lpm = 0; in s390_subchannel_remove_chpid()
220 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid()
221 css_schedule_eval(sch->schid); in s390_subchannel_remove_chpid()
242 static int __s390_process_res_acc(struct subchannel *sch, void *data) in __s390_process_res_acc() argument
[all …]
Dcio.h120 extern int cio_update_schib(struct subchannel *sch);
121 extern int cio_commit_config(struct subchannel *sch);
123 int cio_tm_start_key(struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key);
124 int cio_tm_intrg(struct subchannel *sch);
131 extern void cio_tsch(struct subchannel *sch);
Ddevice_status.c53 struct subchannel *sch; in ccw_device_path_notoper() local
55 sch = to_subchannel(cdev->dev.parent); in ccw_device_path_notoper()
56 if (cio_update_schib(sch)) in ccw_device_path_notoper()
61 sch->schid.ssid, sch->schid.sch_no, in ccw_device_path_notoper()
62 sch->schib.pmcw.pnom); in ccw_device_path_notoper()
64 sch->lpm &= ~sch->schib.pmcw.pnom; in ccw_device_path_notoper()
311 struct subchannel *sch; in ccw_device_do_sense() local
315 sch = to_subchannel(cdev->dev.parent); in ccw_device_do_sense()
330 sense_ccw = &to_io_private(sch)->sense_ccw; in ccw_device_do_sense()
336 rc = cio_start(sch, sense_ccw, 0xff); in ccw_device_do_sense()
Dio_sch.h26 static inline struct ccw_device *sch_get_cdev(struct subchannel *sch) in sch_get_cdev() argument
28 struct io_subchannel_private *priv = to_io_private(sch); in sch_get_cdev()
32 static inline void sch_set_cdev(struct subchannel *sch, in sch_set_cdev() argument
35 struct io_subchannel_private *priv = to_io_private(sch); in sch_set_cdev()
119 struct subchannel *sch; member
Dcmf.c187 struct subchannel *sch = to_subchannel(cdev->dev.parent); in set_schib() local
190 sch->config.mme = mme; in set_schib()
191 sch->config.mbfc = mbfc; in set_schib()
194 sch->config.mba = address; in set_schib()
196 sch->config.mbi = address; in set_schib()
198 ret = cio_commit_config(sch); in set_schib()
303 struct subchannel *sch; in cmf_copy_block() local
308 sch = to_subchannel(cdev->dev.parent); in cmf_copy_block()
310 if (cio_update_schib(sch)) in cmf_copy_block()
313 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block()
[all …]
Ddevice_id.c200 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_sense_id_start() local
218 req->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_sense_id_start()
Dcss.h113 void css_update_ssd_info(struct subchannel *sch);
145 void css_sched_sch_todo(struct subchannel *sch, enum sch_todo todo);
Deadm_sch.h14 struct subchannel *sch; member
Dchp.h61 u8 chp_get_sch_opm(struct subchannel *sch);
Ddevice.h87 void io_subchannel_init_config(struct subchannel *sch);
Dchsc.h219 u16 sch; member
Dchp.c77 u8 chp_get_sch_opm(struct subchannel *sch) in chp_get_sch_opm() argument
87 chpid.id = sch->schib.pmcw.chpid[i]; in chp_get_sch_opm()
Dqdio_setup.c321 (ssqd->qdio_ssqd.sch != schid->sch_no)) in qdio_setup_get_ssqd()
/linux-4.4.14/drivers/gpio/
Dgpio-sch.c46 static unsigned sch_gpio_offset(struct sch_gpio *sch, unsigned gpio, in sch_gpio_offset() argument
51 if (gpio >= sch->resume_base) { in sch_gpio_offset()
52 gpio -= sch->resume_base; in sch_gpio_offset()
59 static unsigned sch_gpio_bit(struct sch_gpio *sch, unsigned gpio) in sch_gpio_bit() argument
61 if (gpio >= sch->resume_base) in sch_gpio_bit()
62 gpio -= sch->resume_base; in sch_gpio_bit()
68 struct sch_gpio *sch = to_sch_gpio(gc); in sch_gpio_reg_get() local
72 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get()
73 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get()
75 reg_val = !!(inb(sch->iobase + offset) & BIT(bit)); in sch_gpio_reg_get()
[all …]
DMakefile84 obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
/linux-4.4.14/net/sched/
Dsch_mq.c25 static void mq_destroy(struct Qdisc *sch) in mq_destroy() argument
27 struct net_device *dev = qdisc_dev(sch); in mq_destroy()
28 struct mq_sched *priv = qdisc_priv(sch); in mq_destroy()
38 static int mq_init(struct Qdisc *sch, struct nlattr *opt) in mq_init() argument
40 struct net_device *dev = qdisc_dev(sch); in mq_init()
41 struct mq_sched *priv = qdisc_priv(sch); in mq_init()
46 if (sch->parent != TC_H_ROOT) in mq_init()
61 TC_H_MAKE(TC_H_MAJ(sch->handle), in mq_init()
69 sch->flags |= TCQ_F_MQROOT; in mq_init()
73 mq_destroy(sch); in mq_init()
[all …]
Dsch_fifo.c22 static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch) in bfifo_enqueue() argument
24 if (likely(sch->qstats.backlog + qdisc_pkt_len(skb) <= sch->limit)) in bfifo_enqueue()
25 return qdisc_enqueue_tail(skb, sch); in bfifo_enqueue()
27 return qdisc_reshape_fail(skb, sch); in bfifo_enqueue()
30 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch) in pfifo_enqueue() argument
32 if (likely(skb_queue_len(&sch->q) < sch->limit)) in pfifo_enqueue()
33 return qdisc_enqueue_tail(skb, sch); in pfifo_enqueue()
35 return qdisc_reshape_fail(skb, sch); in pfifo_enqueue()
38 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch) in pfifo_tail_enqueue() argument
40 if (likely(skb_queue_len(&sch->q) < sch->limit)) in pfifo_tail_enqueue()
[all …]
Dsch_codel.c67 static struct sk_buff *dequeue(struct codel_vars *vars, struct Qdisc *sch) in dequeue() argument
69 struct sk_buff *skb = __skb_dequeue(&sch->q); in dequeue()
75 static struct sk_buff *codel_qdisc_dequeue(struct Qdisc *sch) in codel_qdisc_dequeue() argument
77 struct codel_sched_data *q = qdisc_priv(sch); in codel_qdisc_dequeue()
80 skb = codel_dequeue(sch, &q->params, &q->vars, &q->stats, dequeue); in codel_qdisc_dequeue()
85 if (q->stats.drop_count && sch->q.qlen) { in codel_qdisc_dequeue()
86 qdisc_tree_reduce_backlog(sch, q->stats.drop_count, q->stats.drop_len); in codel_qdisc_dequeue()
91 qdisc_bstats_update(sch, skb); in codel_qdisc_dequeue()
95 static int codel_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch) in codel_qdisc_enqueue() argument
99 if (likely(qdisc_qlen(sch) < sch->limit)) { in codel_qdisc_enqueue()
[all …]
Dsch_multiq.c40 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in multiq_classify() argument
42 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_classify()
68 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch) in multiq_enqueue() argument
73 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue()
78 qdisc_qstats_drop(sch); in multiq_enqueue()
86 sch->q.qlen++; in multiq_enqueue()
90 qdisc_qstats_drop(sch); in multiq_enqueue()
94 static struct sk_buff *multiq_dequeue(struct Qdisc *sch) in multiq_dequeue() argument
96 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue()
111 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue()
[all …]
Dsch_dsmark.c61 static int dsmark_graft(struct Qdisc *sch, unsigned long arg, in dsmark_graft() argument
64 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_graft()
67 __func__, sch, p, new, old); in dsmark_graft()
70 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in dsmark_graft()
71 sch->handle); in dsmark_graft()
76 *old = qdisc_replace(sch, new, &p->q); in dsmark_graft()
80 static struct Qdisc *dsmark_leaf(struct Qdisc *sch, unsigned long arg) in dsmark_leaf() argument
82 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_leaf()
86 static unsigned long dsmark_get(struct Qdisc *sch, u32 classid) in dsmark_get() argument
89 __func__, sch, qdisc_priv(sch), classid); in dsmark_get()
[all …]
Dsch_prio.c34 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify() argument
36 struct prio_sched_data *q = qdisc_priv(sch); in prio_classify()
43 if (TC_H_MAJ(skb->priority) != sch->handle) { in prio_classify()
70 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch) in prio_enqueue() argument
75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue()
80 qdisc_qstats_drop(sch); in prio_enqueue()
88 sch->q.qlen++; in prio_enqueue()
92 qdisc_qstats_drop(sch); in prio_enqueue()
96 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek() argument
98 struct prio_sched_data *q = qdisc_priv(sch); in prio_peek()
[all …]
Dsch_atm.c70 static inline struct atm_flow_data *lookup_flow(struct Qdisc *sch, u32 classid) in lookup_flow() argument
72 struct atm_qdisc_data *p = qdisc_priv(sch); in lookup_flow()
82 static int atm_tc_graft(struct Qdisc *sch, unsigned long arg, in atm_tc_graft() argument
85 struct atm_qdisc_data *p = qdisc_priv(sch); in atm_tc_graft()
89 sch, p, flow, new, old); in atm_tc_graft()
101 static struct Qdisc *atm_tc_leaf(struct Qdisc *sch, unsigned long cl) in atm_tc_leaf() argument
105 pr_debug("atm_tc_leaf(sch %p,flow %p)\n", sch, flow); in atm_tc_leaf()
109 static unsigned long atm_tc_get(struct Qdisc *sch, u32 classid) in atm_tc_get() argument
111 struct atm_qdisc_data *p __maybe_unused = qdisc_priv(sch); in atm_tc_get()
114 pr_debug("atm_tc_get(sch %p,[qdisc %p],classid %x)\n", sch, p, classid); in atm_tc_get()
[all …]
Dsch_red.c59 static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch) in red_enqueue() argument
61 struct red_sched_data *q = qdisc_priv(sch); in red_enqueue()
77 qdisc_qstats_overlimit(sch); in red_enqueue()
87 qdisc_qstats_overlimit(sch); in red_enqueue()
100 sch->q.qlen++; in red_enqueue()
103 qdisc_qstats_drop(sch); in red_enqueue()
108 qdisc_drop(skb, sch); in red_enqueue()
112 static struct sk_buff *red_dequeue(struct Qdisc *sch) in red_dequeue() argument
115 struct red_sched_data *q = qdisc_priv(sch); in red_dequeue()
120 qdisc_bstats_update(sch, skb); in red_dequeue()
[all …]
Dsch_drr.c42 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid) in drr_find_class() argument
44 struct drr_sched *q = qdisc_priv(sch); in drr_find_class()
66 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class() argument
69 struct drr_sched *q = qdisc_priv(sch); in drr_change_class()
88 quantum = psched_mtu(qdisc_dev(sch)); in drr_change_class()
94 qdisc_root_sleeping_lock(sch), in drr_change_class()
100 sch_tree_lock(sch); in drr_change_class()
103 sch_tree_unlock(sch); in drr_change_class()
115 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
122 qdisc_root_sleeping_lock(sch), in drr_change_class()
[all …]
Dsch_plug.c89 static int plug_enqueue(struct sk_buff *skb, struct Qdisc *sch) in plug_enqueue() argument
91 struct plug_sched_data *q = qdisc_priv(sch); in plug_enqueue()
93 if (likely(sch->qstats.backlog + skb->len <= q->limit)) { in plug_enqueue()
96 return qdisc_enqueue_tail(skb, sch); in plug_enqueue()
99 return qdisc_reshape_fail(skb, sch); in plug_enqueue()
102 static struct sk_buff *plug_dequeue(struct Qdisc *sch) in plug_dequeue() argument
104 struct plug_sched_data *q = qdisc_priv(sch); in plug_dequeue()
106 if (qdisc_is_throttled(sch)) in plug_dequeue()
114 qdisc_throttled(sch); in plug_dequeue()
120 return qdisc_dequeue_head(sch); in plug_dequeue()
[all …]
Dsch_fq_codel.c77 static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_classify() argument
80 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_classify()
85 if (TC_H_MAJ(skb->priority) == sch->handle && in fq_codel_classify()
136 static unsigned int fq_codel_drop(struct Qdisc *sch) in fq_codel_drop() argument
138 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_drop()
158 sch->q.qlen--; in fq_codel_drop()
159 qdisc_qstats_drop(sch); in fq_codel_drop()
160 qdisc_qstats_backlog_dec(sch, skb); in fq_codel_drop()
166 static unsigned int fq_codel_qdisc_drop(struct Qdisc *sch) in fq_codel_qdisc_drop() argument
170 prev_backlog = sch->qstats.backlog; in fq_codel_qdisc_drop()
[all …]
Dsch_mqprio.c27 static void mqprio_destroy(struct Qdisc *sch) in mqprio_destroy() argument
29 struct net_device *dev = qdisc_dev(sch); in mqprio_destroy()
30 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_destroy()
92 static int mqprio_init(struct Qdisc *sch, struct nlattr *opt) in mqprio_init() argument
94 struct net_device *dev = qdisc_dev(sch); in mqprio_init()
95 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_init()
104 if (sch->parent != TC_H_ROOT) in mqprio_init()
128 TC_H_MAKE(TC_H_MAJ(sch->handle), in mqprio_init()
158 sch->flags |= TCQ_F_MQROOT; in mqprio_init()
162 mqprio_destroy(sch); in mqprio_init()
[all …]
Dsch_pie.c98 static bool drop_early(struct Qdisc *sch, u32 packet_size) in drop_early() argument
100 struct pie_sched_data *q = qdisc_priv(sch); in drop_early()
103 u32 mtu = psched_mtu(qdisc_dev(sch)); in drop_early()
119 if (sch->qstats.backlog < 2 * mtu) in drop_early()
137 static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch) in pie_qdisc_enqueue() argument
139 struct pie_sched_data *q = qdisc_priv(sch); in pie_qdisc_enqueue()
142 if (unlikely(qdisc_qlen(sch) >= sch->limit)) { in pie_qdisc_enqueue()
147 if (!drop_early(sch, skb->len)) { in pie_qdisc_enqueue()
161 if (qdisc_qlen(sch) > q->stats.maxq) in pie_qdisc_enqueue()
162 q->stats.maxq = qdisc_qlen(sch); in pie_qdisc_enqueue()
[all …]
Dsch_tbf.c158 static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch) in tbf_segment() argument
160 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_segment()
169 return qdisc_reshape_fail(skb, sch); in tbf_segment()
180 qdisc_qstats_drop(sch); in tbf_segment()
186 sch->q.qlen += nb; in tbf_segment()
188 qdisc_tree_reduce_backlog(sch, 1 - nb, prev_len - len); in tbf_segment()
193 static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch) in tbf_enqueue() argument
195 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_enqueue()
200 return tbf_segment(skb, sch); in tbf_enqueue()
201 return qdisc_reshape_fail(skb, sch); in tbf_enqueue()
[all …]
Dsch_choke.c118 static void choke_drop_by_idx(struct Qdisc *sch, unsigned int idx) in choke_drop_by_idx() argument
120 struct choke_sched_data *q = qdisc_priv(sch); in choke_drop_by_idx()
130 qdisc_qstats_backlog_dec(sch, skb); in choke_drop_by_idx()
131 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb)); in choke_drop_by_idx()
132 qdisc_drop(skb, sch); in choke_drop_by_idx()
133 --sch->q.qlen; in choke_drop_by_idx()
195 struct Qdisc *sch, int *qerr) in choke_classify() argument
198 struct choke_sched_data *q = qdisc_priv(sch); in choke_classify()
264 static int choke_enqueue(struct sk_buff *skb, struct Qdisc *sch) in choke_enqueue() argument
267 struct choke_sched_data *q = qdisc_priv(sch); in choke_enqueue()
[all …]
Dsch_gred.c92 static inline int gred_wred_mode_check(struct Qdisc *sch) in gred_wred_mode_check() argument
94 struct gred_sched *table = qdisc_priv(sch); in gred_wred_mode_check()
115 struct Qdisc *sch) in gred_backlog() argument
118 return sch->qstats.backlog; in gred_backlog()
152 static int gred_enqueue(struct sk_buff *skb, struct Qdisc *sch) in gred_enqueue() argument
155 struct gred_sched *t = qdisc_priv(sch); in gred_enqueue()
168 if (likely(sch->qstats.backlog + qdisc_pkt_len(skb) <= in gred_enqueue()
169 sch->limit)) in gred_enqueue()
170 return qdisc_enqueue_tail(skb, sch); in gred_enqueue()
200 gred_backlog(t, q, sch)); in gred_enqueue()
[all …]
Dsch_hhf.c246 static enum wdrr_bucket_idx hhf_classify(struct sk_buff *skb, struct Qdisc *sch) in hhf_classify() argument
248 struct hhf_sched_data *q = qdisc_priv(sch); in hhf_classify()
348 static unsigned int hhf_drop(struct Qdisc *sch) in hhf_drop() argument
350 struct hhf_sched_data *q = qdisc_priv(sch); in hhf_drop()
361 sch->q.qlen--; in hhf_drop()
362 qdisc_qstats_drop(sch); in hhf_drop()
363 qdisc_qstats_backlog_dec(sch, skb); in hhf_drop()
371 static unsigned int hhf_qdisc_drop(struct Qdisc *sch) in hhf_qdisc_drop() argument
375 prev_backlog = sch->qstats.backlog; in hhf_qdisc_drop()
376 hhf_drop(sch); in hhf_qdisc_drop()
[all …]
Dsch_ingress.c19 static struct Qdisc *ingress_leaf(struct Qdisc *sch, unsigned long arg) in ingress_leaf() argument
24 static unsigned long ingress_get(struct Qdisc *sch, u32 classid) in ingress_get() argument
29 static unsigned long ingress_bind_filter(struct Qdisc *sch, in ingress_bind_filter() argument
32 return ingress_get(sch, classid); in ingress_bind_filter()
35 static void ingress_put(struct Qdisc *sch, unsigned long cl) in ingress_put() argument
39 static void ingress_walk(struct Qdisc *sch, struct qdisc_walker *walker) in ingress_walk() argument
43 static struct tcf_proto __rcu **ingress_find_tcf(struct Qdisc *sch, in ingress_find_tcf() argument
46 struct net_device *dev = qdisc_dev(sch); in ingress_find_tcf()
51 static int ingress_init(struct Qdisc *sch, struct nlattr *opt) in ingress_init() argument
54 sch->flags |= TCQ_F_CPUSTATS; in ingress_init()
[all …]
Dsch_sfq.c164 static unsigned int sfq_classify(struct sk_buff *skb, struct Qdisc *sch, in sfq_classify() argument
167 struct sfq_sched_data *q = qdisc_priv(sch); in sfq_classify()
172 if (TC_H_MAJ(skb->priority) == sch->handle && in sfq_classify()
292 static unsigned int sfq_drop(struct Qdisc *sch) in sfq_drop() argument
294 struct sfq_sched_data *q = qdisc_priv(sch); in sfq_drop()
309 sch->q.qlen--; in sfq_drop()
310 qdisc_qstats_drop(sch); in sfq_drop()
311 qdisc_qstats_backlog_dec(sch, skb); in sfq_drop()
346 sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch) in sfq_enqueue() argument
348 struct sfq_sched_data *q = qdisc_priv(sch); in sfq_enqueue()
[all …]
Dsch_netem.c362 static void tfifo_reset(struct Qdisc *sch) in tfifo_reset() argument
364 struct netem_sched_data *q = qdisc_priv(sch); in tfifo_reset()
377 static void tfifo_enqueue(struct sk_buff *nskb, struct Qdisc *sch) in tfifo_enqueue() argument
379 struct netem_sched_data *q = qdisc_priv(sch); in tfifo_enqueue()
395 sch->q.qlen++; in tfifo_enqueue()
402 static struct sk_buff *netem_segment(struct sk_buff *skb, struct Qdisc *sch) in netem_segment() argument
410 qdisc_reshape_fail(skb, sch); in netem_segment()
423 static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) in netem_enqueue() argument
425 struct netem_sched_data *q = qdisc_priv(sch); in netem_enqueue()
442 qdisc_qstats_drop(sch); /* mark packet */ in netem_enqueue()
[all …]
Dsch_sfb.c278 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch) in sfb_enqueue() argument
281 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_enqueue()
291 if (unlikely(sch->q.qlen >= q->limit)) { in sfb_enqueue()
292 qdisc_qstats_overlimit(sch); in sfb_enqueue()
345 qdisc_qstats_overlimit(sch); in sfb_enqueue()
371 qdisc_qstats_overlimit(sch); in sfb_enqueue()
402 sch->q.qlen++; in sfb_enqueue()
406 qdisc_qstats_drop(sch); in sfb_enqueue()
411 qdisc_drop(skb, sch); in sfb_enqueue()
415 qdisc_qstats_drop(sch); in sfb_enqueue()
[all …]
Dsch_fq.c299 static struct sk_buff *fq_dequeue_head(struct Qdisc *sch, struct fq_flow *flow) in fq_dequeue_head() argument
307 qdisc_qstats_backlog_dec(sch, skb); in fq_dequeue_head()
308 sch->q.qlen--; in fq_dequeue_head()
371 static int fq_enqueue(struct sk_buff *skb, struct Qdisc *sch) in fq_enqueue() argument
373 struct fq_sched_data *q = qdisc_priv(sch); in fq_enqueue()
376 if (unlikely(sch->q.qlen >= sch->limit)) in fq_enqueue()
377 return qdisc_drop(skb, sch); in fq_enqueue()
382 return qdisc_drop(skb, sch); in fq_enqueue()
388 qdisc_qstats_backlog_inc(sch, skb); in fq_enqueue()
402 sch->q.qlen++; in fq_enqueue()
[all …]
Dsch_hfsc.c879 qdisc_peek_len(struct Qdisc *sch) in qdisc_peek_len() argument
884 skb = sch->ops->peek(sch); in qdisc_peek_len()
886 qdisc_warn_nonwc("qdisc_peek_len", sch); in qdisc_peek_len()
895 hfsc_purge_queue(struct Qdisc *sch, struct hfsc_class *cl) in hfsc_purge_queue() argument
921 hfsc_find_class(u32 classid, struct Qdisc *sch) in hfsc_find_class() argument
923 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_find_class()
970 hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in hfsc_change_class() argument
973 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_class()
1018 spinlock_t *lock = qdisc_root_sleeping_lock(sch); in hfsc_change_class()
1028 sch_tree_lock(sch); in hfsc_change_class()
[all …]
Dsch_qfq.c209 static struct qfq_class *qfq_find_class(struct Qdisc *sch, u32 classid) in qfq_find_class() argument
211 struct qfq_sched *q = qdisc_priv(sch); in qfq_find_class()
386 static int qfq_change_agg(struct Qdisc *sch, struct qfq_class *cl, u32 weight, in qfq_change_agg() argument
389 struct qfq_sched *q = qdisc_priv(sch); in qfq_change_agg()
404 static int qfq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in qfq_change_class() argument
407 struct qfq_sched *q = qdisc_priv(sch); in qfq_change_class()
441 lmax = psched_mtu(qdisc_dev(sch)); in qfq_change_class()
463 qdisc_root_sleeping_lock(sch), in qfq_change_class()
481 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in qfq_change_class()
489 qdisc_root_sleeping_lock(sch), in qfq_change_class()
[all …]
Dsch_htb.c181 static inline struct htb_class *htb_find(u32 handle, struct Qdisc *sch) in htb_find() argument
183 struct htb_sched *q = qdisc_priv(sch); in htb_find()
206 static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch, in htb_classify() argument
209 struct htb_sched *q = qdisc_priv(sch); in htb_classify()
219 if (skb->priority == sch->handle) in htb_classify()
221 cl = htb_find(skb->priority, sch); in htb_classify()
244 if (res.classid == sch->handle) in htb_classify()
246 cl = htb_find(res.classid, sch); in htb_classify()
257 cl = htb_find(TC_H_MAKE(TC_H_MAJ(sch->handle), q->defcls), sch); in htb_classify()
572 static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch) in htb_enqueue() argument
[all …]
Dsch_cbq.c217 cbq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in cbq_classify() argument
219 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_classify()
230 if (TC_H_MAJ(prio ^ sch->handle) == 0 && in cbq_classify()
369 cbq_enqueue(struct sk_buff *skb, struct Qdisc *sch) in cbq_enqueue() argument
371 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_enqueue()
373 struct cbq_class *cl = cbq_classify(skb, sch, &ret); in cbq_enqueue()
380 qdisc_qstats_drop(sch); in cbq_enqueue()
386 cl->q->__parent = sch; in cbq_enqueue()
390 sch->q.qlen++; in cbq_enqueue()
398 qdisc_qstats_drop(sch); in cbq_enqueue()
[all …]
Dsch_teql.c80 teql_enqueue(struct sk_buff *skb, struct Qdisc *sch) in teql_enqueue() argument
82 struct net_device *dev = qdisc_dev(sch); in teql_enqueue()
83 struct teql_sched_data *q = qdisc_priv(sch); in teql_enqueue()
90 return qdisc_drop(skb, sch); in teql_enqueue()
94 teql_dequeue(struct Qdisc *sch) in teql_dequeue() argument
96 struct teql_sched_data *dat = qdisc_priv(sch); in teql_dequeue()
108 dat->m->slaves = sch; in teql_dequeue()
112 qdisc_bstats_update(sch, skb); in teql_dequeue()
114 sch->q.qlen = dat->q.qlen + q->q.qlen; in teql_dequeue()
119 teql_peek(struct Qdisc *sch) in teql_peek() argument
[all …]
Dsch_api.c651 void qdisc_class_hash_grow(struct Qdisc *sch, struct Qdisc_class_hash *clhash) in qdisc_class_hash_grow() argument
671 sch_tree_lock(sch); in qdisc_class_hash_grow()
681 sch_tree_unlock(sch); in qdisc_class_hash_grow()
747 void qdisc_tree_reduce_backlog(struct Qdisc *sch, unsigned int n, in qdisc_tree_reduce_backlog() argument
759 while ((parentid = sch->parent)) { in qdisc_tree_reduce_backlog()
763 if (sch->flags & TCQ_F_NOPARENT) in qdisc_tree_reduce_backlog()
766 sch = qdisc_lookup(qdisc_dev(sch), TC_H_MAJ(parentid)); in qdisc_tree_reduce_backlog()
767 if (sch == NULL) { in qdisc_tree_reduce_backlog()
771 cops = sch->ops->cl_ops; in qdisc_tree_reduce_backlog()
773 cl = cops->get(sch, parentid); in qdisc_tree_reduce_backlog()
[all …]
Dsch_generic.c580 struct Qdisc *sch; in qdisc_alloc() local
581 unsigned int size = QDISC_ALIGN(sizeof(*sch)) + ops->priv_size; in qdisc_alloc()
590 sch = (struct Qdisc *) QDISC_ALIGN((unsigned long) p); in qdisc_alloc()
592 if (sch != p) { in qdisc_alloc()
598 sch = (struct Qdisc *) QDISC_ALIGN((unsigned long) p); in qdisc_alloc()
599 sch->padded = (char *) sch - (char *) p; in qdisc_alloc()
601 INIT_LIST_HEAD(&sch->list); in qdisc_alloc()
602 skb_queue_head_init(&sch->q); in qdisc_alloc()
604 spin_lock_init(&sch->busylock); in qdisc_alloc()
605 lockdep_set_class(&sch->busylock, in qdisc_alloc()
[all …]
Dsch_blackhole.c20 static int blackhole_enqueue(struct sk_buff *skb, struct Qdisc *sch) in blackhole_enqueue() argument
22 qdisc_drop(skb, sch); in blackhole_enqueue()
26 static struct sk_buff *blackhole_dequeue(struct Qdisc *sch) in blackhole_dequeue() argument
/linux-4.4.14/include/net/
Dsch_generic.h494 const struct Qdisc *sch) in qdisc_calculate_pkt_len() argument
497 struct qdisc_size_table *stab = rcu_dereference_bh(sch->stab); in qdisc_calculate_pkt_len()
504 static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch) in qdisc_enqueue() argument
506 qdisc_calculate_pkt_len(skb, sch); in qdisc_enqueue()
507 return sch->enqueue(skb, sch); in qdisc_enqueue()
530 static inline void qdisc_bstats_cpu_update(struct Qdisc *sch, in qdisc_bstats_cpu_update() argument
533 bstats_cpu_update(this_cpu_ptr(sch->cpu_bstats), skb); in qdisc_bstats_cpu_update()
536 static inline void qdisc_bstats_update(struct Qdisc *sch, in qdisc_bstats_update() argument
539 bstats_update(&sch->bstats, skb); in qdisc_bstats_update()
542 static inline void qdisc_qstats_backlog_dec(struct Qdisc *sch, in qdisc_qstats_backlog_dec() argument
[all …]
Dcodel.h180 const struct Qdisc *sch) in codel_params_init() argument
184 params->mtu = psched_mtu(qdisc_dev(sch)); in codel_params_init()
230 struct Qdisc *sch, in codel_should_drop() argument
244 sch->qstats.backlog -= qdisc_pkt_len(skb); in codel_should_drop()
250 sch->qstats.backlog <= params->mtu) { in codel_should_drop()
268 struct Qdisc *sch);
270 static struct sk_buff *codel_dequeue(struct Qdisc *sch,
276 struct sk_buff *skb = dequeue_func(vars, sch);
285 drop = codel_should_drop(skb, sch, vars, params, stats, now);
314 qdisc_drop(skb, sch);
[all …]
Dpkt_sched.h84 struct Qdisc *fifo_create_dflt(struct Qdisc *sch, struct Qdisc_ops *ops,
/linux-4.4.14/net/netfilter/
Dxt_sctp.c45 const sctp_chunkhdr_t *sch; in match_packet() local
59 sch = skb_header_pointer(skb, offset, sizeof(_sch), &_sch); in match_packet()
60 if (sch == NULL || sch->length == 0) { in match_packet()
68 ++i, offset, sch->type, htons(sch->length), in match_packet()
69 sch->flags); in match_packet()
71 offset += WORD_ROUND(ntohs(sch->length)); in match_packet()
75 if (SCTP_CHUNKMAP_IS_SET(info->chunkmap, sch->type)) { in match_packet()
79 sch->type, sch->flags)) { in match_packet()
86 sch->type, sch->flags)) in match_packet()
87 SCTP_CHUNKMAP_CLEAR(chunkmapcopy, sch->type); in match_packet()
[all …]
Dnf_conntrack_proto_sctp.c203 #define for_each_sctp_chunk(skb, sch, _sch, offset, dataoff, count) \ argument
206 ((sch) = skb_header_pointer((skb), (offset), sizeof(_sch), &(_sch))); \
207 (offset) += (ntohs((sch)->length) + 3) & ~3, (count)++)
216 sctp_chunkhdr_t _sch, *sch; in do_basic_checks() local
221 for_each_sctp_chunk (skb, sch, _sch, offset, dataoff, count) { in do_basic_checks()
222 pr_debug("Chunk Num: %d Type: %d\n", count, sch->type); in do_basic_checks()
224 if (sch->type == SCTP_CID_INIT || in do_basic_checks()
225 sch->type == SCTP_CID_INIT_ACK || in do_basic_checks()
226 sch->type == SCTP_CID_SHUTDOWN_COMPLETE) in do_basic_checks()
234 if (((sch->type == SCTP_CID_COOKIE_ACK || in do_basic_checks()
[all …]
/linux-4.4.14/net/netfilter/ipvs/
Dip_vs_proto_sctp.c18 sctp_chunkhdr_t _schunkh, *sch; in sctp_conn_schedule() local
25 sch = skb_header_pointer( in sctp_conn_schedule()
28 if (sch && (sch->type == SCTP_CID_INIT || in sctp_conn_schedule()
381 sctp_chunkhdr_t _sctpch, *sch; in set_sctp_state() local
393 sch = skb_header_pointer(skb, cofs, sizeof(_sctpch), &_sctpch); in set_sctp_state()
394 if (sch == NULL) in set_sctp_state()
397 chunk_type = sch->type; in set_sctp_state()
409 if ((sch->type == SCTP_CID_COOKIE_ECHO) || in set_sctp_state()
410 (sch->type == SCTP_CID_COOKIE_ACK)) { in set_sctp_state()
411 int clen = ntohs(sch->length); in set_sctp_state()
[all …]
Dip_vs_core.c1036 sctp_chunkhdr_t *sch, schunk; in is_sctp_abort() local
1037 sch = skb_header_pointer(skb, nh_len + sizeof(sctp_sctphdr_t), in is_sctp_abort()
1039 if (sch == NULL) in is_sctp_abort()
1041 if (sch->type == SCTP_CID_ABORT) in is_sctp_abort()
1069 sctp_chunkhdr_t *sch, schunk; in is_new_conn() local
1071 sch = skb_header_pointer(skb, iph->len + sizeof(sctp_sctphdr_t), in is_new_conn()
1073 if (sch == NULL) in is_new_conn()
1075 return sch->type == SCTP_CID_INIT; in is_new_conn()
/linux-4.4.14/arch/mips/include/asm/netlogic/xlp-hal/
Dpic.h229 int sch, int vec, int dt, int db, int cpu) in nlm_9xx_pic_write_irt() argument
243 int sch, int vec, int dt, int db, int dte) in nlm_pic_write_irt() argument
248 ((sch & 0x1) << 28) | ((vec & 0x3f) << 20) | in nlm_pic_write_irt()
257 int sch, int vec, int cpu) in nlm_pic_write_irt_direct() argument
260 nlm_9xx_pic_write_irt(base, irt_num, en, nmi, sch, vec, in nlm_pic_write_irt_direct()
263 nlm_pic_write_irt(base, irt_num, en, nmi, sch, vec, 1, in nlm_pic_write_irt_direct()
/linux-4.4.14/arch/s390/include/asm/
Dqdio.h289 u16 sch; member
/linux-4.4.14/drivers/net/wireless/iwlwifi/pcie/
Dinternal.h81 u32 sch; member
Drx.c1292 isr_stats->sch++; in iwl_pcie_irq_handler()
Dtrans.c2025 isr_stats->sch); in iwl_dbgfs_interrupt_read()
/linux-4.4.14/drivers/net/wireless/iwlegacy/
Ddebug.c703 il->isr_stats.sch); in il_dbgfs_interrupt_read()
Dcommon.h1024 u32 sch; member
D3945-mac.c1465 il->isr_stats.sch++; in il3945_irq_tasklet()
D4965-mac.c4428 il->isr_stats.sch++; in il4965_irq_tasklet()
/linux-4.4.14/arch/mips/include/asm/octeon/
Dcvmx-mio-defs.h2340 uint64_t sch:4; member
2350 uint64_t sch:4;
/linux-4.4.14/
DCREDITS2061 M: seasons@falcon.sch.bme.hu