Re: [PATCH] hfsc: ensure class is added to eltree exactly once

2016-05-31 Thread Florian Westphal
Eric Dumazet wrote: > On Wed, 2016-06-01 at 01:00 +0200, Florian Westphal wrote: > Generally speaking, a non work conserving qdisc could return NULL if it > decides to drop all packet(s) that were sitting in the queue. > > Say we add a 'max sojourn time' on skbs, as yet another anti-bloat > featu

Re: [PATCH] hfsc: ensure class is added to eltree exactly once

2016-05-31 Thread Eric Dumazet
On Wed, 2016-06-01 at 01:00 +0200, Florian Westphal wrote: > Eric Dumazet wrote: > > > diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c > > > index d783d7c..0854be3 100644 > > > --- a/net/sched/sch_hfsc.c > > > +++ b/net/sched/sch_hfsc.c > > > @@ -1583,6 +1583,7 @@ hfsc_enqueue(struct sk_b

Re: [PATCH] hfsc: ensure class is added to eltree exactly once

2016-05-31 Thread Florian Westphal
Eric Dumazet wrote: > > diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c > > index d783d7c..0854be3 100644 > > --- a/net/sched/sch_hfsc.c > > +++ b/net/sched/sch_hfsc.c > > @@ -1583,6 +1583,7 @@ hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch) > > { > > struct hfsc_class *cl; > >

Re: [PATCH] hfsc: ensure class is added to eltree exactly once

2016-05-31 Thread Eric Dumazet
On Tue, 2016-05-31 at 12:12 +0200, Florian Westphal wrote: > Intent is to insert the class into the eligible tree when first packet > is enqueued (its removed from list when class becomes empty again). > > Checking for a size of 1 is problematic: > > 1. child qdisc might have segmented the skb, i

[PATCH] hfsc: ensure class is added to eltree exactly once

2016-05-31 Thread Florian Westphal
Intent is to insert the class into the eligible tree when first packet is enqueued (its removed from list when class becomes empty again). Checking for a size of 1 is problematic: 1. child qdisc might have segmented the skb, in which backlog can transition from 0 to a value > 1. In this case we