public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: Matthias Schiffer <mschiffer@universe-factory.net>
To: The list for a Better Approach To Mobile Ad-hoc Networking
	<b.a.t.m.a.n@lists.open-mesh.org>
Subject: [B.A.T.M.A.N.] The current state of the batman-adv vis code
Date: Mon, 07 May 2012 21:35:07 +0200	[thread overview]
Message-ID: <4FA823EB.7070309@universe-factory.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 966 bytes --]

Hi,
after reading Marek's and Sven's comments to my question about the vis
code, and looking at the code a bit I came to the following conclusion
about the first part of the cleanup, the finishing of the RCU conversion
of the vis code:

It should be possible to get rid of the vis_hash_lock altogether, as the
hash table has spinlocks for the hash lists itself; overall hash
consistency might be a issue though - I would propose adding a
hash_update function that updates a hash entry without deleting and
re-adding the hlist node.

I think I found a bug in the hash_add function though. First there is a
RCU-locked loop that checks if a entry does already exist, but the
spinlock is taken after the rcu_read_unlock() - thus allowing the same
entry to be appended twice if two threads try to add it at the same time.

If you want to contact me about this via IRC, I'm now idling in #batman
- my nickname there is neoraider.

Thanks,
Matthias


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

             reply	other threads:[~2012-05-07 19:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-07 19:35 Matthias Schiffer [this message]
2012-05-08  5:59 ` [B.A.T.M.A.N.] The current state of the batman-adv vis code Marek Lindner
2012-05-08 14:18   ` Matthias Schiffer
2012-05-09 11:04     ` Marek Lindner
2012-05-09 14:59       ` Matthias Schiffer
2012-05-10 13:16         ` Marek Lindner
2012-05-08 20:31   ` [B.A.T.M.A.N.] [PATCH] batman-adv: fix locking in hash_add() Matthias Schiffer
2012-05-08 20:38     ` Sven Eckelmann
2012-05-11 19:50       ` Marek Lindner

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=4FA823EB.7070309@universe-factory.net \
    --to=mschiffer@universe-factory.net \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /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