示例#1
0
文件: sch_tbf.c 项目: BozkurTR/kernel
static void tbf_destroy(struct Qdisc *sch)
{
	struct tbf_sched_data *q = qdisc_priv(sch);

	qdisc_watchdog_cancel(&q->watchdog);
	qdisc_destroy(q->qdisc);
}
示例#2
0
static void netem_reset(struct Qdisc *sch)
{
	struct netem_sched_data *q = qdisc_priv(sch);

	qdisc_reset(q->qdisc);
	sch->q.qlen = 0;
	qdisc_watchdog_cancel(&q->watchdog);
}
示例#3
0
文件: sch_fq.c 项目: AK101111/linux
static void fq_destroy(struct Qdisc *sch)
{
	struct fq_sched_data *q = qdisc_priv(sch);

	fq_reset(sch);
	fq_free(q->fq_root);
	qdisc_watchdog_cancel(&q->watchdog);
}
示例#4
0
static void netem_reset(struct Qdisc *sch)
{
	struct netem_sched_data *q = qdisc_priv(sch);

	qdisc_reset_queue(sch);
	if (q->qdisc)
		qdisc_reset(q->qdisc);
	qdisc_watchdog_cancel(&q->watchdog);
}
示例#5
0
static void tbf_reset(struct Qdisc* sch)
{
	struct tbf_sched_data *q = qdisc_priv(sch);

	qdisc_reset(q->qdisc);
	sch->q.qlen = 0;
	q->t_c = psched_get_time();
	q->tokens = q->buffer;
	q->ptokens = q->mtu;
	qdisc_watchdog_cancel(&q->watchdog);
}
示例#6
0
/* Release Qdisc resources */
static void wfq_destroy(struct Qdisc *sch)
{
        struct wfq_sched_data *q = qdisc_priv(sch);
        int i;

        if (likely(q->queues))
        {
                for (i = 0; i < wfq_max_queues && (q->queues[i]).qdisc; i++)
                        qdisc_destroy((q->queues[i]).qdisc);
	}
	qdisc_watchdog_cancel(&q->watchdog);
        printk(KERN_INFO "destroy sch_wfq on %s\n", sch->dev_queue->dev->name);
        print_wfq_sched_data(sch);
}
示例#7
0
static void tbf_destroy(struct Qdisc *sch)
{
	struct tbf_sched_data *q = qdisc_priv(sch);

	qdisc_watchdog_cancel(&q->watchdog);

	if (q->P_tab)
		qdisc_put_rtab(q->P_tab);
	if (q->R_tab)
		qdisc_put_rtab(q->R_tab);

	qdisc_destroy(q->qdisc);
#if defined(CONFIG_ASF_EGRESS_SHAPER) || defined(CONFIG_ASF_HW_SHAPER)
	_tbf_del_hook(sch);
#endif
}