On Sat, Jun 25, 2016 at 05:46:47PM +0200, Sven Eckelmann wrote:
> On Saturday 25 June 2016 16:44:06 Sven Eckelmann wrote:
> > The translation table (global, local) is usually the part of batman-adv
> > which has the most dynamical allocated objects. Most of them
> > (tt_local_entry, tt_global_entry, tt_orig_list_entry, tt_change_node,
> > tt_req_node, tt_roam_node) are equally sized. So it makes sense to have
> > them allocated from a kmem_cache for each type.
> > 
> > This approach allowed a small wireless router (TP-Link TL-841NDv8; SLUB
> > allocator) to store 34% more translation table entries compared to the
> > current implementation.
> > 
> > [1] https://open-mesh.org/projects/batman-adv/wiki/Kmalloc-kmem-cache-tests
> > 
> > Reported-by: Linus Lüssing <[email protected]>
> > Signed-off-by: Sven Eckelmann <[email protected]>
> > ---
> 
> Here is the changelog (since the RFC):
> 
> v2:
>  - use kmem_cache_zalloc instead of kmem_cache_alloc + memset as
>    suggested by Linus
>  - add cache batadv_tt_change_cache, batadv_tt_req_cache,
>    batadv_tt_roam_cache
>  - Added Reported-by
>  - rewrote commit message
>  - summarize+link the results from Linus' tests

Looks good. Do you have any typical numbers regarding tt_change_cache
and tt_req_cache sizes for specific setups?

Just wondering whether it is worth it to have extra caches for
these two. (if you don't have any numbers, I might have a look at
/proc/slabinfo with your patch for some Freifunk network(s) later
today)

Reply via email to