[Cake] memory

Dave Taht dave.taht at gmail.com
Thu Oct 29 05:01:42 EDT 2015

There has been so much traffic here that I can't summarize.

A) But a bit on memory limits - the memory limit enforced in cake is a
sanity check sort of limit. There are *no* allocations of memory in
it. It will not fail itself, due to running out of memory except at
init time.

So if you run out of memory elsewhere in the system, the normal set of
bad things happen. cake's "sane - and, yes, could use more smarts"
limits can reduce memory pressure elsewhere in the system by
discarding things when it gets irrational, but packet memory tends to
be fragmented and hard to recover cleanly in the first place.

B) Similarly a HUGE waster of memory is small packets, which usually
get a full slab of bytes (2k) to play with on the rx side. This
problem got so bad in some testing that openwrt contains a clever (I
would say that because I wrote it), patch that once we get to tons of
packets more than we think is sane and we get close to running out of
2k slabs that we start reallocating packets to fit into much smaller
slabs (like 512 bytes) and copying them into those.

so, briefly, memory allocation and release patterns are more complex
than the discussion I sort of saw go by a over the last few days.

Dave Täht
I just invested five years of my life to making wifi better. And,
now... the FCC wants to make my work, illegal for people to install.

More information about the Cake mailing list