From: Simon Wunderlich <sw@simonwunderlich.de>
To: b.a.t.m.a.n@lists.open-mesh.org
Cc: Sven Eckelmann <sven.eckelmann@openmesh.com>
Subject: Re: [B.A.T.M.A.N.] [PATCH 0/5] alfred: TQ query optimizations
Date: Wed, 31 May 2017 17:24:45 +0200 [thread overview]
Message-ID: <2339368.gV653yJKBs@prime> (raw)
In-Reply-To: <4690435.IOLn72U8Ez@bentobox>
[-- Attachment #1: Type: text/plain, Size: 1980 bytes --]
On Wednesday, May 24, 2017 12:31:28 PM CEST Sven Eckelmann wrote:
> Hi,
>
> alfred uses the TQ from batman-adv to find its best alfred neighbor. This
> best neighbor information is used by slave servers to request/publish data.
>
> This is done for each server announcement packet by:
>
> * requesting the global translation table (netlink or debugfs) and then
> searching in it for the MAC address of the detected alfred server to find
> its originator address
> * requesting the originator table (netlink or debugfs) and then searching
> it it for the originator address of the detected alfred server to find its
> TQ value
>
> This was previously done whenever a new announcement packet received by
> alfred. We've observed that this can be a problem on networks with a lot of
> master servers (~100) which can see each other, large translation tables and
> slow CPUs. alfred still worked but the CPU load by alfred was rather high
> (~20% on an 560MHz AR9344).
>
> The idea is now to avoid this lookup for master servers. And (for slave
> servers) to process all servers at once. This is done before the wants to
> push its local data to a master server in an sync interval.
>
> The process which was described earlier was now changed to:
>
> * requesting the global translation table (netlink or debugfs) and then put
> MAC address and corresponding originator address in tg hash
> * requesting the originator table (netlink or debugfs) and then put
> originator address and corresponding TQ value orig hash
> * got through all servers:
> - search in tg hash for for the MAC address of the alfred server to find
> its originator address
> - search in orig hash for for the originator address of the alfred server
> to find its TQ value
>
> These changes reduced the load on the previously mentioned devices
> significantly.
I've applied this patch series with some fixes in patch 4 and 5 regarding the
hash initialization.
Thank you,
Simon
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-05-31 15:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-24 10:31 [B.A.T.M.A.N.] [PATCH 0/5] alfred: TQ query optimizations Sven Eckelmann
2017-05-24 10:32 ` [B.A.T.M.A.N.] [PATCH 1/5] alfred: Move alfred specific netlink code in separate file Sven Eckelmann
2017-05-24 10:32 ` [B.A.T.M.A.N.] [PATCH 2/5] alfred: Only query tq of remote master in slave mode Sven Eckelmann
2017-05-24 10:32 ` [B.A.T.M.A.N.] [PATCH 3/5] alfred: Check the TQ of master servers before pushing data Sven Eckelmann
2017-05-24 10:32 ` [B.A.T.M.A.N.] [PATCH 4/5] alfred: Cache the TQ values for each originator Sven Eckelmann
2017-05-24 10:32 ` [B.A.T.M.A.N.] [PATCH 5/5] alfred: Cache the global translation table entries Sven Eckelmann
2017-05-31 15:24 ` Simon Wunderlich [this message]
2017-06-01 6:15 ` [B.A.T.M.A.N.] [PATCH 0/5] alfred: TQ query optimizations Sven Eckelmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2339368.gV653yJKBs@prime \
--to=sw@simonwunderlich.de \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=sven.eckelmann@openmesh.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox