netdev-linux: Use hash table instead of sparse array for QoS classes.
authorBen Pfaff <blp@nicira.com>
Mon, 19 Jul 2010 18:21:59 +0000 (11:21 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 1 Oct 2010 17:25:10 +0000 (10:25 -0700)
commit93b13be8e65455ecf6e568e604cf76fdb20601c9
tree61437599369261cae53afd1f93bb3a5572b981f6
parent0c18b5a065365e79d92d66532e7bdc41c4588f33
netdev-linux: Use hash table instead of sparse array for QoS classes.

The main advantage of a sparse array over a hash table is that it can be
iterated in numerical order.  But the OVS implementation of sparse arrays
is quite expensive in terms of memory: on a 32-bit system, a sparse array
with exactly 1 nonnull element has 512 bytes of overhead.  In this case,
the sparse array's property of iteration in numerical order is not
important, so this commit converts it to a hash table to save memory.
lib/netdev-linux.c