Message ID | 1356315256-6572-20-git-send-email-akinobu.mita@gmail.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <akinobu.mita@gmail.com> Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by open-mesh.org (Postfix) with ESMTPS id CC880601186 for <b.a.t.m.a.n@lists.open-mesh.org>; Mon, 24 Dec 2012 03:15:12 +0100 (CET) Received: by mail-pa0-f52.google.com with SMTP id fb1so3804264pad.11 for <b.a.t.m.a.n@lists.open-mesh.org>; Sun, 23 Dec 2012 18:15:11 -0800 (PST) X-Received: by 10.68.138.229 with SMTP id qt5mr61720791pbb.122.1356315311119; Sun, 23 Dec 2012 18:15:11 -0800 (PST) Received: from localhost.localdomain (p2126-ipbf3106hodogaya.kanagawa.ocn.ne.jp. [114.149.157.126]) by mx.google.com with ESMTPS id wr4sm11379909pbc.72.2012.12.23.18.15.08 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 23 Dec 2012 18:15:10 -0800 (PST) From: Akinobu Mita <akinobu.mita@gmail.com> To: linux-kernel@vger.kernel.org, akpm@linux-foundation.org Date: Mon, 24 Dec 2012 11:14:06 +0900 Message-Id: <1356315256-6572-20-git-send-email-akinobu.mita@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1356315256-6572-1-git-send-email-akinobu.mita@gmail.com> References: <1356315256-6572-1-git-send-email-akinobu.mita@gmail.com> X-Mailman-Approved-At: Mon, 24 Dec 2012 08:32:02 +0100 Cc: netdev@vger.kernel.org, b.a.t.m.a.n@lists.open-mesh.org, Akinobu Mita <akinobu.mita@gmail.com>, Simon Wunderlich <siwu@hrz.tu-chemnitz.de>, Marek Lindner <lindner_marek@yahoo.de>, "David S. Miller" <davem@davemloft.net> Subject: [B.A.T.M.A.N.] [PATCH 19/29] batman-adv: fix random jitter calculation X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking <b.a.t.m.a.n@lists.open-mesh.org> List-Id: The list for a Better Approach To Mobile Ad-hoc Networking <b.a.t.m.a.n.lists.open-mesh.org> List-Unsubscribe: <https://lists.open-mesh.org/mm/options/b.a.t.m.a.n>, <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=unsubscribe> List-Archive: <http://lists.open-mesh.org/pipermail/b.a.t.m.a.n/> List-Post: <mailto:b.a.t.m.a.n@lists.open-mesh.org> List-Help: <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=help> List-Subscribe: <https://lists.open-mesh.org/mm/listinfo/b.a.t.m.a.n>, <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=subscribe> X-List-Received-Date: Mon, 24 Dec 2012 02:15:13 -0000 |
Commit Message
Akinobu Mita
Dec. 24, 2012, 2:14 a.m. UTC
batadv_iv_ogm_emit_send_time() attempts to calculates a random integer
in the range of 'orig_interval +- BATADV_JITTER' by the below lines.
msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER;
msecs += (random32() % 2 * BATADV_JITTER);
But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER'
because '%' and '*' have same precedence and associativity is
left-to-right.
This adds the parentheses at the appropriate position so that it matches
original intension.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Marek Lindner <lindner_marek@yahoo.de>
Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Cc: Antonio Quartulli <ordex@autistici.org>
Cc: b.a.t.m.a.n@lists.open-mesh.org
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
---
net/batman-adv/bat_iv_ogm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Mon, Dec 24, 2012 at 11:14:06AM +0900, Akinobu Mita wrote: > batadv_iv_ogm_emit_send_time() attempts to calculates a random integer > in the range of 'orig_interval +- BATADV_JITTER' by the below lines. > > msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; > msecs += (random32() % 2 * BATADV_JITTER); > > But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER' > because '%' and '*' have same precedence and associativity is > left-to-right. > > This adds the parentheses at the appropriate position so that it matches > original intension. > > Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> > Cc: Marek Lindner <lindner_marek@yahoo.de> > Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> > Cc: Antonio Quartulli <ordex@autistici.org> > Cc: b.a.t.m.a.n@lists.open-mesh.org > Cc: "David S. Miller" <davem@davemloft.net> > Cc: netdev@vger.kernel.org > --- Acked-by: Antonio Quartulli <ordex@autistici.org> But I would suggest to apply this change to net, since it is a fix. Cheers,
2012/12/25 Antonio Quartulli <ordex@autistici.org>: > On Mon, Dec 24, 2012 at 11:14:06AM +0900, Akinobu Mita wrote: >> batadv_iv_ogm_emit_send_time() attempts to calculates a random integer >> in the range of 'orig_interval +- BATADV_JITTER' by the below lines. >> >> msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; >> msecs += (random32() % 2 * BATADV_JITTER); >> >> But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER' >> because '%' and '*' have same precedence and associativity is >> left-to-right. >> >> This adds the parentheses at the appropriate position so that it matches >> original intension. >> >> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> >> Cc: Marek Lindner <lindner_marek@yahoo.de> >> Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> >> Cc: Antonio Quartulli <ordex@autistici.org> >> Cc: b.a.t.m.a.n@lists.open-mesh.org >> Cc: "David S. Miller" <davem@davemloft.net> >> Cc: netdev@vger.kernel.org >> --- > > Acked-by: Antonio Quartulli <ordex@autistici.org> > > But I would suggest to apply this change to net, since it is a fix. I agree. David, please consider to apply this patch for 3.8-rc*.
From: Akinobu Mita <akinobu.mita@gmail.com> Date: Wed, 26 Dec 2012 06:35:37 +0900 > 2012/12/25 Antonio Quartulli <ordex@autistici.org>: >> On Mon, Dec 24, 2012 at 11:14:06AM +0900, Akinobu Mita wrote: >>> batadv_iv_ogm_emit_send_time() attempts to calculates a random integer >>> in the range of 'orig_interval +- BATADV_JITTER' by the below lines. >>> >>> msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; >>> msecs += (random32() % 2 * BATADV_JITTER); >>> >>> But it actually gets 'orig_interval' or 'orig_interval - BATADV_JITTER' >>> because '%' and '*' have same precedence and associativity is >>> left-to-right. >>> >>> This adds the parentheses at the appropriate position so that it matches >>> original intension. >>> >>> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> >>> Cc: Marek Lindner <lindner_marek@yahoo.de> >>> Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> >>> Cc: Antonio Quartulli <ordex@autistici.org> >>> Cc: b.a.t.m.a.n@lists.open-mesh.org >>> Cc: "David S. Miller" <davem@davemloft.net> >>> Cc: netdev@vger.kernel.org >>> --- >> >> Acked-by: Antonio Quartulli <ordex@autistici.org> >> >> But I would suggest to apply this change to net, since it is a fix. > > I agree. > David, please consider to apply this patch for 3.8-rc*. > All patches I should consider seriously should be properly reposted for review and inclusion.
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c index 9f3925a..7d02ebd 100644 --- a/net/batman-adv/bat_iv_ogm.c +++ b/net/batman-adv/bat_iv_ogm.c @@ -123,7 +123,7 @@ batadv_iv_ogm_emit_send_time(const struct batadv_priv *bat_priv) unsigned int msecs; msecs = atomic_read(&bat_priv->orig_interval) - BATADV_JITTER; - msecs += (random32() % 2 * BATADV_JITTER); + msecs += random32() % (2 * BATADV_JITTER); return jiffies + msecs_to_jiffies(msecs); }