Re: [Cake] [PATCH 3/4] sch_api: Allow reducing queue backlog by a negative value

2019-01-07 Thread Eric Dumazet
On 01/07/2019 11:47 AM, Toke Høiland-Jørgensen wrote: > From: Toke Høiland-Jørgensen > > With GSO splitting in sch_cake, we can decrease as well as increase the > qlen. To make it possible to signal this up the qdisc tree, change > qdisc_tree_reduce_backlog() to accept signed integer values as

Re: [Cake] [PATCH 2/4] sched: Fix detection of empty queues in child qdiscs

2019-01-07 Thread Dave Taht
awesome. I'd (rarely) seen this bug in drr and qfq and never solved it, thus going for the all-in-one fq_codel On Mon, Jan 7, 2019 at 11:48 AM Toke Høiland-Jørgensen wrote: > > From: Toke Høiland-Jørgensen > > Several qdiscs check on enqueue whether the packet was enqueued to a class > with

[Cake] [PATCH 4/4] sch_cake: Correctly update parent qlen when splitting GSO packets

2019-01-07 Thread Toke Høiland-Jørgensen
From: Toke Høiland-Jørgensen To ensure parent qdiscs have the same notion of the number of enqueued packets even after splitting a GSO packet, update the qdisc tree with the number of packets that was added due to the split. Signed-off-by: Toke Høiland-Jørgensen --- net/sched/sch_cake.c | 5

[Cake] [PATCH 0/4] sched: Fix qdisc interactions exposed by using sch_cake as a leaf qdisc

2019-01-07 Thread Toke Høiland-Jørgensen
This series fixes a couple of issues exposed by running sch_cake as a leaf qdisc in an HFSC tree, which were discovered and reported by Pete Heist. The interaction between CAKE's GSO splitting and the parent qdisc's notion of its own queue length could cause queue stalls. While investigating the

[Cake] [PATCH 1/4] sched: Avoid dereferencing skb pointer after child enqueue

2019-01-07 Thread Toke Høiland-Jørgensen
From: Toke Høiland-Jørgensen Parent qdiscs may dereference the pointer to the enqueued skb after enqueue. However, both CAKE and TBF call consume_skb() on the original skb when splitting GSO packets, leading to a potential use-after-free in the parent. Fix this by avoiding dereferencing the skb

[Cake] [PATCH 3/4] sch_api: Allow reducing queue backlog by a negative value

2019-01-07 Thread Toke Høiland-Jørgensen
From: Toke Høiland-Jørgensen With GSO splitting in sch_cake, we can decrease as well as increase the qlen. To make it possible to signal this up the qdisc tree, change qdisc_tree_reduce_backlog() to accept signed integer values as the number of packets and bytes to reduce the backlog by.

Re: [Cake] host hashes and NAT neglected in src/dst-host mode

2019-01-07 Thread Georgios Amanakis
Yes, of course! I was counting the flow-modes wrong. Sorry for the confusion. On Mon, Jan 7, 2019 at 3:20 AM Jonathan Morton wrote: > > > On 7 Jan, 2019, at 6:00 am, > > wrote: > > > > 633 if ((flow_override || !(flow_mode & CAKE_FLOW_FLOWS)) && > > 634 (host_override ||

Re: [Cake] cake infinite loop(?) with hfsc on one-armed router

2019-01-07 Thread Pete Heist
Sorry, that’s without the patch, will give that a try when I have a chance and post the results, probably tomorrow... > On Jan 7, 2019, at 12:30 PM, Toke Høiland-Jørgensen wrote: > > Pete Heist writes: > >>> On Jan 6, 2019, at 9:56 PM, Toke Høiland-Jørgensen wrote: >>> >>> Pete Heist

Re: [Cake] cake infinite loop(?) with hfsc on one-armed router

2019-01-07 Thread Toke Høiland-Jørgensen
Pete Heist writes: >> On Jan 6, 2019, at 9:56 PM, Toke Høiland-Jørgensen wrote: >> >> Pete Heist writes: >> >>> Lastly, is using cake as a leaf to htb risky until a fix is made? I’ve >>> been doing that for a while without any apparent issues, though I’m >>> hesitating now to try that in a

Re: [Cake] host hashes and NAT neglected in src/dst-host mode

2019-01-07 Thread Jonathan Morton
> On 7 Jan, 2019, at 6:00 am, wrote: > > 633 if ((flow_override || !(flow_mode & CAKE_FLOW_FLOWS)) && > 634 (host_override || !(flow_mode & CAKE_FLOW_HOSTS))) > 635 goto skip_hash; These lines require careful reading. First, the "override" flags indicate