From: Simon Wunderlich <sw@simonwunderlich.de>
To: Markus Pargmann <mpa@pengutronix.de>
Cc: b.a.t.m.a.n@lists.open-mesh.org,
Marek Lindner <mareklindner@neomailbox.ch>,
Antonio Quartulli <antonio@meshcoding.com>
Subject: Re: [B.A.T.M.A.N.] [PATCH 04/31] batman-adv: iv_ogm, divide and round for ring buffer avg
Date: Mon, 12 Jan 2015 16:52:22 +0100 [thread overview]
Message-ID: <4348694.8SUG3NZNcb@prime> (raw)
In-Reply-To: <1417519009-20699-5-git-send-email-mpa@pengutronix.de>
[-- Attachment #1: Type: text/plain, Size: 982 bytes --]
On Tuesday 02 December 2014 12:16:22 Markus Pargmann wrote:
> Instead of the normal division which looses precision, use a division
> with rounding.
>
> Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Why do we need to have more precise rounding here? In doubt, we should rather
always round down to avoid any spurious routing loops - the loop free property
depends on monotonicity after all, and therefore its better to always round
down.
I'm not convinced that this change is safe in that regard, if you think it is
please explain further.
> ---
> bat_iv_ogm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
> index 1458ecfa66b8..10eada270015 100644
> --- a/bat_iv_ogm.c
> +++ b/bat_iv_ogm.c
> @@ -82,7 +82,7 @@ static uint8_t batadv_ring_buffer_avg(const uint8_t
> lq_recv[]) if (count == 0)
> return 0;
>
> - return (uint8_t)(sum / count);
> + return (uint8_t)DIV_ROUND_CLOSEST(sum, count);
> }
>
> /**
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2015-01-12 15:52 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-02 11:16 [B.A.T.M.A.N.] [PATCH 00/31] batman-adv: Cleanups Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 01/31] batman-adv: debugfs, avoid compiling for !DEBUG_FS Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 02/31] batman-adv: Separate logging header Markus Pargmann
2014-12-02 15:59 ` Martin Hundebøll
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 03/31] batman-adv: iv_ogm, Reduce code duplication Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 04/31] batman-adv: iv_ogm, divide and round for ring buffer avg Markus Pargmann
2015-01-12 15:52 ` Simon Wunderlich [this message]
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 05/31] batman-adv: init, Add some error handling Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 06/31] batman-adv: tvlv realloc, move error handling into if block Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 07/31] batman-adv: split tvlv into a seperate file Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 08/31] batman-adv: hash, remove function implementations from header Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 09/31] batman-adv: hash, Add helper functions Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 10/31] batman-adv: hash, replace direct hash structure accesses Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 11/31] batman-adv: hash, make struct hashtable private Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 12/31] batman-adv: hash, add used linux headers Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 13/31] batman-adv: Makefile, Sort alphabetically Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 14/31] batman-adv: iv_ogm_iface_enable, direct return values Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 15/31] batman-adv: iv_ogm_aggr_packet, bool return value Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 16/31] batman-adv: iv_ogm_send_to_if, declare char* as const Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 17/31] batman-adv: iv_ogm_can_aggregate, code readability Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 18/31] batman-adv: iv_ogm_orig_update, remove unnecessary brackets Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 19/31] batman-adv: iv_ogm_aggregate_new, simplify error handling Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 20/31] batman-adv: iv_ogm_queue_add, Simplify expressions Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 21/31] batman-adv: iv_ogm_orig_update, style, add missin brackets Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 22/31] batman-adv: iv_ogm, Fix dup_status comment Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 23/31] batman-adv: iv_ogm, fix coding style Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 24/31] batman-adv: iv_ogm, fix comment function name Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 25/31] batman-adv: types, Fix comment on bcast_own Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 26/31] batman-adv: main, Convert is_my_mac() to bool Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 27/31] batman-adv: main, batadv_compare_eth return bool Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 28/31] batman-adv: Remove unnecessary ret variable Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 29/31] batman-adv: Remove unnecessary ret variable in algo_register Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 30/31] batman-adv: packet.h, add some missing includes Markus Pargmann
2014-12-02 11:16 ` [B.A.T.M.A.N.] [PATCH 31/31] batman-adv: types.h, add missing include Markus Pargmann
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=4348694.8SUG3NZNcb@prime \
--to=sw@simonwunderlich.de \
--cc=antonio@meshcoding.com \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=mareklindner@neomailbox.ch \
--cc=mpa@pengutronix.de \
/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