lib: introduce initial implementation of object aggregation manager
authorJiri Pirko <jiri@mellanox.com>
Wed, 14 Nov 2018 08:22:28 +0000 (08:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2018 22:43:43 +0000 (14:43 -0800)
commit0a020d416d0af0b0c782e2a8363896e756e9121e
tree2bd2d93bf7fdddceb76f0450c1063db9ea3776a3
parent7dc5a0eeea185e5f3af3f97a86e76419791cdd60
lib: introduce initial implementation of object aggregation manager

This lib tracks objects which could be of two types:
1) root object
2) nested object - with a "delta" which differentiates it from
                   the associated root object
The objects are tracked by a hashtable and reference-counted. User is
responsible of implementing callbacks to create/destroy root entity
related to each root object and callback to create/destroy nested object
delta.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
include/linux/objagg.h [new file with mode: 0644]
include/trace/events/objagg.h [new file with mode: 0644]
lib/Kconfig
lib/Kconfig.debug
lib/Makefile
lib/objagg.c [new file with mode: 0644]
lib/test_objagg.c [new file with mode: 0644]