From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Sven Eckelmann Date: Thu, 04 Aug 2016 09:29:20 +0200 Message-ID: <3736273.XKRaZoI53k@bentobox> In-Reply-To: <20160803234329.GD16866@otheros> References: <1470083926-6409-1-git-send-email-linus.luessing@c0d3.blue> <20160803212552.GB16866@otheros> <20160803234329.GD16866@otheros> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart26737208.6zhaNcJMBH"; micalg="pgp-sha512"; protocol="application/pgp-signature" Subject: Re: [B.A.T.M.A.N.] [PATCH v2 2/2] batman-adv: Simple (re)broadcast avoidance List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: b.a.t.m.a.n@lists.open-mesh.org --nextPart26737208.6zhaNcJMBH Content-Type: multipart/mixed; boundary="nextPart3736273.IUFumD1G4Z" Content-Transfer-Encoding: 7Bit This is a multi-part message in MIME format. --nextPart3736273.IUFumD1G4Z Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" On Donnerstag, 4. August 2016 01:43:29 CEST Linus L=FCssing wrote: [...] > So the regular purging routines will break the cycle in the end > when they reduce the refcount of the hardif_neigh_node to zero. Ok, lets go through it with following idea: 1. the cycle exists (including the missing batadv_orig_node::ifinfo_list in my earlier example graph) 2. batadv_purge_orig is called via the worker (for some reason with a large= delay) 3. _batadv_purge_orig goes through all entries in the orig hashtable 4. batadv_purge_orig_node is called 5. batadv_has_timed_out returns "hey, you are old - go away" 6. batadv_purge_orig_node now only does for this orig_entry: - batadv_gw_node_delete(bat_priv, orig_node); - hlist_del_rcu(&orig_node->hash_entry); - batadv_tt_global_del_orig(orig_node->bat_priv, orig_node, -1, "originator timed out"); - batadv_orig_node_put(orig_node); So the most cleanup work (batadv_orig_node_release) is only done when the orig_node refcnt reaches zero. The batadv_purge_orig_ifinfo, batadv_purge_orig_neighbors and the rest from batadv_purge_orig_node is only done when the originator has not yet reached its timeout. I would therefore guess it working because you are lucky and your batadv_purge_orig_neighbors and batadv_purge_orig_ifinfo sometimes(tm) solve this problem for you. Kind regards, Sven --nextPart3736273.IUFumD1G4Z Content-Disposition: attachment; filename="cycle.dot" Content-Transfer-Encoding: 7Bit Content-Type: text/vnd.graphviz; charset="UTF-8"; name="cycle.dot" digraph { edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; "batadv_orig_node" -> "batadv_orig_ifinfo" [label=" last_bonding_candidate", style="dashed",color="green"]; "batadv_orig_node" -> "batadv_orig_ifinfo" [label=" ifinfo_list", style="dashed",color="green"]; "batadv_hardif_neigh_node" -> "batadv_orig_node" [label=" orig_node", style="dashed",color="blue"]; "batadv_orig_ifinfo" -> "batadv_neigh_node" [label=" router", style="dashed",color="green"]; "batadv_neigh_node" -> "batadv_hardif_neigh_node" [label=" hardif_neigh", style="dashed",color="green"]; "batadv_orig_node" -> "batadv_neigh_node" [label=" neigh_list", style="dashed",color="green"] } --nextPart3736273.IUFumD1G4Z Content-Disposition: inline; filename="cycle.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="cycle.png" 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 --nextPart3736273.IUFumD1G4Z-- --nextPart26737208.6zhaNcJMBH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCgAGBQJXou7QAAoJEF2HCgfBJntGai8QAICfYmzzPJMkLg/224pQG85G HGqPyF1h4exN/TvjVtvWzJ9QcsJIDx/5gYlQF64i2VjBh+pxDhBLW+ilEwJnz0Rl FMwt3QJoUWrFDLQxjsumN++6KpGbXh+QIP26o4JgTNRytTB3wuAOMvmjZjNa1n0P XPasEpnG0YT4ZIlqIgsomRRDQi8YyHIR93o4wvmzzetwyrdUcREj0B6xWdnCjqpH o62I7Uene5Gkhj59/oWHL1pxLFtX2JiVycHPRiqouMoJ3N08VUnJiyyPuGES1fBd ueKLJsqZdgUmrhq6wHJumsdt+yvdo74TzdpFqr+S1IVB0KkRONpcJrhGlJNG/nOj pRW/UEeMxcalnpESVoxwCYGHuS1U7qTgKY3oTEvq4l2vwEXhf5DKU0nk0nX9+e+I V9U2i0MpFj8bpVR4VwHnj+/zp3JBdduxCRlbSJblHlLSX/pLPClw9wdVeFTNElRx rrH9rZxrXsQqzdEh0jKZcuJMzYVmJYTHm2vDLD9Hksq4U+8GaK+QcLywqqtXr41f OMIDGt0V/z/Kcbz/ba+K/LYlEgW2NDAPVSsi9YwQ5U8PvUqRA7ADIlQw9VO3vDV8 /xxGOj8fgc8DhX+XeqoLOyzxEP89r1obZEojkmIgVITEEiZSGYGEllRiLS4J0/y5 p+O9y1JB9WCS2545QHRj =uXQN -----END PGP SIGNATURE----- --nextPart26737208.6zhaNcJMBH--