Re: [PATCH] batman-adv: Deinline batadv_orig_hash_find, save 9024 bytes

From: Sven Eckelmann
Date: Mon Oct 23 2017 - 12:49:06 EST


On Montag, 25. April 2016 21:39:50 CEST Antonio Quartulli wrote:
> On Mon, Apr 25, 2016 at 03:25:22PM +0200, Denys Vlasenko wrote:
> > This function compiles to 473 bytes of machine code.
> > 21 callsites.
> >
> > text data bss dec hex filename
> > 95903266 20860288 35991552 152755106 91adba2 vmlinux_before
> > 95894242 20860288 35991552 152746082 91ab862 vmlinux
>
> Hi Danys,
>
> thanks for your patch. This function is used in a several performance critical
> code paths (i.e. packet forwarding).
>
> Are we sure we are not losing in performance here?

Tested it with 2x OM5P-ACv2 (LEDE 17.01) which were connected via ethernet
cable on port eth1. iperf was started with reduced MSS to increase the packet
count on a PC which was connected to eth0:

$ iperf -c 192.168.10.1 -t 30 -i 1 -P8 -M 536 -y C > test01.csv

Another PC (running on the eth0 of the other device) was running the iperf-server.

The network configuration was modified to automatically enable bat0 when link was detected on eth1:

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fdcb:4e2a:b274::/48'

config interface 'lan'
option type 'bridge'
option ifname 'eth0 bat0'
option proto 'static'
option ipaddr '192.168.1.2'
option netmask '255.255.255.0'
option ip6assign '60'

config interface 'batnet'
option mtu '1532'
option proto 'batadv'
option ifname 'eth1'
option mesh 'bat0'



test run | without patch (MiBit/s) | with patch (MiBit/s) | without batman-adv (MiBit/s)
---------+-------------------------+----------------------+-----------------------------
1 | 289 | 271 | 501
2 | 260 | 271 | 500
3 | 262 | 272 | 501
4 | 262 | 270 | 500
5 | 267 | 270 | 499
6 | 270 | 269 | 500
7 | 271 | 268 | 501
8 | 271 | 268 | 501
9 | 271 | 269 | 500
10 | 271 | 268 | 497
11 | 261 | 269 | 500
12 | 271 | 264 | 499
13 | 274 | 268 | 502
=========+=========================+======================+=============================
avg | 269 | 269 | 500

Kind regards,
Sven

Attachment: tests.tar.xz
Description: application/xz-compressed-tar

Attachment: signature.asc
Description: This is a digitally signed message part.