[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1437540079.9913.13.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Wed, 22 Jul 2015 06:41:19 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Cong Wang <xiyou.wangcong@...il.com>
Cc: Jamal Hadi Salim <jhs@...atatu.com>,
Alex Gartrell <agartrell@...com>,
David Miller <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
kernel-team@...com, stable@...r.kernel.org
Subject: Re: [PATCH,v2 net] net: sched: validate that class is found in
qdisc_tree_decrease_qlen
On Tue, 2015-07-21 at 19:03 -0700, Cong Wang wrote:
> On Tue, Jul 21, 2015 at 1:57 PM, Eric Dumazet <eric.dumazet@...il.com> wrote:
> > On Tue, 2015-07-21 at 11:12 -0700, Cong Wang wrote:
> >
> >> > - kfree_skb(skb);
> >> > + INIT_LIST_HEAD(&q->new_flows);
> >> > + INIT_LIST_HEAD(&q->old_flows);
> >> > + for (i = 0; i < q->flows_cnt; i++) {
> >> > + struct fq_codel_flow *flow = q->flows + i;
> >> > +
> >> > + while (flow->head)
> >> > + kfree_skb(dequeue_head(flow));
> >> > +
> >> > + INIT_LIST_HEAD(&flow->flowchain);
> >>
> >>
> >> You probably need to call codel_vars_init(&flow->cvars) as well.
> >
> > It is not necessary : flow->cvars only matter in the event of a dequeue,
> > but whole qdisc is dismantled and no packet will be dequeued.
> >
>
> But it will affect the next dequeue _after_ reset? which is not supposed
> to happen as we expect a fresh start after reset?
Hmm... I thought reset() was only done at queue dismantle, so no new
packet should be added later, and since no packet should be left after
reset, no dequeue should happen.
For completeness, we still can add the codel_vars_init(), no problem.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists