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] [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] [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] [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 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