Re: [Cake] CAKE upstreaming - testers wanted, ACK filtering rescuers needed

2018-04-25 Thread Dave Taht
On Wed, Apr 25, 2018 at 6:32 PM, Stephen Hemminger wrote: > On Thu, 26 Apr 2018 10:40:29 +0930 > Ryan Mounce wrote: > >> I'll investigate making the ACK filtering code safe, it is my mess after all >> :) >> >> Eric obviously understands this stuff

Re: [Cake] CAKE upstreaming - testers wanted, ACK filtering rescuers needed

2018-04-25 Thread Stephen Hemminger
On Thu, 26 Apr 2018 10:40:29 +0930 Ryan Mounce wrote: > I'll investigate making the ACK filtering code safe, it is my mess after all > :) > > Eric obviously understands this stuff a lot better than me, it looks > like there are two issues? > - Lack of minimum length check

Re: [Cake] CAKE upstreaming - testers wanted, ACK filtering rescuers needed

2018-04-25 Thread Ryan Mounce
I'll investigate making the ACK filtering code safe, it is my mess after all :) Eric obviously understands this stuff a lot better than me, it looks like there are two issues? - Lack of minimum length check for TCP header, should be fairly straight-forward to fix - The possibility of unsafely

[Cake] CAKE upstreaming - testers wanted, ACK filtering rescuers needed

2018-04-25 Thread Toke Høiland-Jørgensen
For those who have not been following the discussion on the upstreaming patches, here's an update: - I've just pushed patches to only split GSO packets when shaping below one gigabit; and hopefully made the overhead compensation code deal gracefully with GSO packets if someone for some reason

Re: [Cake] Pre-print of Cake paper available

2018-04-25 Thread Toke Høiland-Jørgensen
David Lang writes: > On Tue, 24 Apr 2018, Toke Høiland-Jørgensen wrote: > >> Pete Heist writes: >> On Apr 24, 2018, at 7:58 AM, Jonathan Morton wrote: Turning NAT support on by default might actually be reasonable, since

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
Eric Dumazet writes: > On 04/25/2018 11:34 AM, Toke Høiland-Jørgensen wrote: >> Eric Dumazet writes: >> >>> On 04/25/2018 09:52 AM, Jonathan Morton wrote: > We can see here the high cost of forcing software GSO :/ > > Really, this

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 11:34 AM, Toke Høiland-Jørgensen wrote: > Eric Dumazet writes: > >> On 04/25/2018 09:52 AM, Jonathan Morton wrote: We can see here the high cost of forcing software GSO :/ Really, this should be done only : 1) If requested by the admin

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread David Miller
From: Toke Høiland-Jørgensen Date: Wed, 25 Apr 2018 20:34:23 +0200 > Is it possible to get the sizes of the individual segments > of a GSO packet? That way we could do the calculation for the whole > super-packet... Yes it is. Otherwise the software GSO fallback wouldn't even be

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
David Miller writes: > From: Toke Høiland-Jørgensen > Date: Wed, 25 Apr 2018 15:42:48 +0200 > >> +static void *cake_zalloc(size_t sz) >> +{ >> +void *ptr = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN); >> + >> +if (!ptr) >> +ptr = vzalloc(sz); >>

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread David Miller
From: Toke Høiland-Jørgensen Date: Wed, 25 Apr 2018 15:42:48 +0200 > +static void *cake_zalloc(size_t sz) > +{ > + void *ptr = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN); > + > + if (!ptr) > + ptr = vzalloc(sz); > + return ptr; > +} This is just kvzalloc(sz,

Re: [Cake] Pre-print of Cake paper available

2018-04-25 Thread David Lang
On Tue, 24 Apr 2018, Toke Høiland-Jørgensen wrote: Pete Heist writes: On Apr 24, 2018, at 7:58 AM, Jonathan Morton wrote: Turning NAT support on by default might actually be reasonable, since it doesn't really break anything if it's not needed - it

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
Eric Dumazet writes: > On 04/25/2018 09:52 AM, Jonathan Morton wrote: >>> We can see here the high cost of forcing software GSO :/ >>> >>> Really, this should be done only : >>> 1) If requested by the admin ( tc gso ) >>> >>> 2) If packet size is above a

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Sebastian Moeller
> On Apr 25, 2018, at 18:52, Jonathan Morton wrote: > >> We can see here the high cost of forcing software GSO :/ >> >> Really, this should be done only : >> 1) If requested by the admin ( tc gso ) >> >> 2) If packet size is above a threshold. >> The threshold

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 09:17 AM, Toke Høiland-Jørgensen wrote: > Or am I to interpret that as a hard NAK on having this feature in CAKE > (even if we fix the issues you pointed out)? No strong NACK, as long as the current code is fixed. Right now, a malicious packet will kill the box or something bad

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 09:55 AM, Toke Høiland-Jørgensen wrote: > Well, as I said, 10Gbit+ links are not really the target audience ;) Well, 640KB of memory is all we need. > > We did actually have a threshold at some point, but it was removed > because it didn't work well (I'm not sure of the

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 09:52 AM, Jonathan Morton wrote: >> We can see here the high cost of forcing software GSO :/ >> >> Really, this should be done only : >> 1) If requested by the admin ( tc gso ) >> >> 2) If packet size is above a threshold. >> The threshold could be set by the admin,

Re: [Cake] Testing wanted: Statistics API rework

2018-04-25 Thread Toke Høiland-Jørgensen
Pete Heist writes: >> On Apr 25, 2018, at 11:15 AM, Toke Høiland-Jørgensen wrote: >> >> Pete Heist writes: >> >>> I requested a re-build over in the Ubiquiti EdgeOS forums. Between >>> ER-X and ER-L I think that would cover 32-bit mips

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Jonathan Morton
> We can see here the high cost of forcing software GSO :/ > > Really, this should be done only : > 1) If requested by the admin ( tc gso ) > > 2) If packet size is above a threshold. > The threshold could be set by the admin, and/or based on a fraction of the > bandwidth parameter. >

Re: [Cake] Testing wanted: Statistics API rework

2018-04-25 Thread Pete Heist
> On Apr 25, 2018, at 11:15 AM, Toke Høiland-Jørgensen wrote: > > Pete Heist writes: > >> I requested a re-build over in the Ubiquiti EdgeOS forums. Between >> ER-X and ER-L I think that would cover 32-bit mips (little endian) and >> 64-bit mips (big endian).

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 08:22 AM, Toke Høiland-Jørgensen wrote: > Eric Dumazet writes: >> Lack of any pskb_may_pull() is really concerning. > > By this you mean "check that the packet is long enough to contain the > header we are looking for before trying to do ACK filtering",

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 08:22 AM, Toke Høiland-Jørgensen wrote: > Eric Dumazet writes: >> What performance number do you get on a 10Gbit NIC for example ? > > Single-flow throughput through 2 hops on a 40Gbit connection (with CAKE > in unlimited mode vs pfifo_fast on the

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 08:22 AM, Toke Høiland-Jørgensen wrote: > Hmm, because pure ACKs are not generally aggregated (sorry, I'm not > quite clear on when exactly GSO will kick in)? A GSO packet must contain payload in each of its segment. There is no way some ack aggregation logic could build a GSO

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
Eric Dumazet writes: > On 04/25/2018 06:42 AM, Toke Høiland-Jørgensen wrote: >> sch_cake targets the home router use case and is intended to squeeze the >> most bandwidth and latency out of even the slowest ISP links and routers, >> while presenting an API simple enough

Re: [Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Eric Dumazet
On 04/25/2018 06:42 AM, Toke Høiland-Jørgensen wrote: > sch_cake targets the home router use case and is intended to squeeze the > most bandwidth and latency out of even the slowest ISP links and routers, > while presenting an API simple enough that even an ISP can configure it. > * Support

[Cake] [PATCH ipruote2-next v4] Add support for cake qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
sch_cake is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it. Example of use on a cable ISP uplink: tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter To shape

[Cake] [PATCH net-next v3] Add Common Applications Kept Enhanced (cake) qdisc

2018-04-25 Thread Toke Høiland-Jørgensen
sch_cake targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it. Example of use on a cable ISP uplink: tc qdisc add dev eth0 cake bandwidth

Re: [Cake] Testing wanted: Statistics API rework

2018-04-25 Thread Toke Høiland-Jørgensen
Pete Heist writes: >> On Apr 24, 2018, at 11:30 PM, Toke Høiland-Jørgensen wrote: >> >> If someone has time to test it (especially on mips!), that would be >> great; I think we still have a few days left of net-next being open, so >> if it works for you, I'll