Hi there,
thanks for all the feedback for the changes I wanted to make to the sysfs code base.
I tried to address bugs and suggestions. The macros are now a bit smaller than
in the beginning, the missing static has been added (thanks Andrew and Sven).
Due to Marecs comment on the issues with changing sysfs file names in the kernel
(which I was not aware of, thanks for explaining) and comments about old sysfs
filenames being more descriptive, I changed the bat_priv names instead now.
I don't really see a good reason yet why they should not be equal.
The hop_penalty and num_bcasts patches will follow later. There've been some
discussions about what the limit and rules for exposing defines in sysfs
should be.
Of course, having a good set of default values and not that many options configurable
during runtime at all or most parameters just being adjusted automatically,
makes the routing protocol itself much more stable and reliable, and less
complex and easy to use for the user. However, certain assessable scenarios might
benefit from certain parameters being tweakable during runtime, making optimizations
and tests with different values quick and easy without having to rebuild and install
the kernel module or even firmware images.
Simon's idea so far was, to introduce a debug/ folder in sysfs which is hidden by
default and could be enabled with a KConfig option, so that tinkerers still have a
chance for their needs for tweaking parameters. num_bcasts would probably be one of
the first candidates as a debug-parameter.
If I forgot any very important points from the discussions so far, please don't hesitate
to add them here.
And as always, any comments and suggestions highly appreciated :).
Cheers, Linus
Hi,
David S. Miller wasn't amused[1] by our hash implementation. Instead he
proposed some changes we should make. I tried to implement most of them, but
don't think we should really manually inline every functionality currently
provided by the hash implementation. I would rather keep the heavily used
functions as compiler inlineable functions and do the rest using standard
kernel hlist_*.
Best regards,
Sven
[1] Message-Id: <20100924.134334.28812338.davem(a)davemloft.net>
Sven Eckelmann (5):
batman-adv: Remove hashdata_compare_cb from hash
batman-adv: Remove hashdata_choose_cb from hash
batman-adv: Move hash callback related function to header
batman-adv: Make hash_iterate inlineable
batman-adv: Rewrite hash using hlist_*
batman-adv/hash.c | 237 +--------------------------------------
batman-adv/hash.h | 220 ++++++++++++++++++++++++++++++++-----
batman-adv/icmp_socket.c | 2 +
batman-adv/main.c | 28 -----
batman-adv/main.h | 2 -
batman-adv/originator.c | 31 ++++--
batman-adv/originator.h | 28 +++++
batman-adv/routing.c | 22 +++-
batman-adv/send.c | 1 +
batman-adv/translation-table.c | 58 +++++++---
batman-adv/unicast.c | 6 +-
batman-adv/vis.c | 49 ++++++--
12 files changed, 347 insertions(+), 337 deletions(-)
Hi,
here are patches targeted for 2.6.37. All patches needed for that patchset are
already part of your staging-next tree.
All patches are cleanup and bugfix patches and no new feature is added.
thanks,
Sven
Linus Lüssing (1):
Staging: batman-adv: Fix resizing of broadcast seqno buffers on if deletion
Marek Lindner (4):
Staging: batman-adv: document fragmentation sysfs API
Staging: batman-adv: protect against ogm packet overflow by checking table length
Staging: batman-adv: fix crash when new OGM is generated
Staging: batman-adv: process OGMs bigger than MAX_AGGREGATION_BYTES
Sven Eckelmann (2):
Staging: batman-adv: Add hash recommendations to TODO
Staging: batman-adv: Don't dereference unchecked incoming soft_iface
drivers/staging/batman-adv/TODO | 4 ++++
drivers/staging/batman-adv/aggregation.c | 17 +++++++++++------
drivers/staging/batman-adv/originator.c | 4 ++--
drivers/staging/batman-adv/send.c | 7 +++++--
drivers/staging/batman-adv/sysfs-class-net-mesh | 8 ++++++++
drivers/staging/batman-adv/translation-table.c | 9 +++++++--
6 files changed, 37 insertions(+), 12 deletions(-)