]> Zhao Yanbai Git Server - minix.git/commit
RMIB: add indirection support for sparse subtrees 80/3480/2
authorDavid van Moolenbroek <david@minix3.org>
Fri, 30 Sep 2016 21:55:33 +0000 (21:55 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Sun, 30 Apr 2017 13:16:00 +0000 (13:16 +0000)
commit0f03189a6a8bafe2a370ea990cf2cbb19da81b70
tree45623144dc269196b44ec0b6adbc5f6f6412caac
parent5edbea50631e5089314617ad4298253cfedb7793
RMIB: add indirection support for sparse subtrees

Normally, each RMIB subtree consists of an array of nodes, indexed
by node identifier.  In a sparsely filled subtree, most of the array
is empty and just wasting memory.  In that case, it may be beneficial
to have a level of indirection, with an intermediate array containing
pairs of node IDs and pointers to the actual nodes.  This patch adds
support for such indirection.

For the use cases that inspired this patch, net.inet and net.inet6,
the indirection shaves off a little under 16KB of memory from the
TCP/IP service.

Change-Id: Ic68ca3fee1a0f2032f77eef6df42728f9b9400e8
minix/include/minix/rmib.h
minix/lib/libsys/rmib.c