On Friday, 17 April 2020 03:23:23 CEST Moritz Warning wrote:
I have many batman-adv instances (~1000) running on one computer in a Linux network namespace each.
Top shows me that a single kernel worker is handling batman-adv: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 29251 root 20 0 0 0 0 R 99.3 0.0 18:03.27 kworker/u32:3+bat_events
This bat_events is mostly for sending the OGMs/ELPs/BCAST-retries. Usually not a bottleneck but your configuration is rather special and thus can be a limiting factor.
Is there a way to let those multiple batman-adv instances make use of the other cores?
A quick way to change this is to go to batadv_init in net/batman-adv/main.c and change the create_singlethread_workqueue() call to create_workqueue().
Kind reagrds, Sven