classifier: Retire partitions.
authorJarno Rajahalme <jrajahalme@nicira.com>
Tue, 25 Aug 2015 20:55:03 +0000 (13:55 -0700)
committerJarno Rajahalme <jrajahalme@nicira.com>
Wed, 26 Aug 2015 22:37:42 +0000 (15:37 -0700)
commita14502a7c529befab29fbe2f16230f3878837f13
tree8e420a89b374c54ec10c99d17f4a7f8361d73fdf
parent5fcff47b0b56b91e2a7096b2f015426a43d73ed9
classifier: Retire partitions.

Classifier partitions allowed skipping subtables when if was known
from the flow's metadata field that the subtable cannot possibly
match.  This functionality was later implemented in a more general
fashion by staged lookup, where the first stage also covers the
metadata field, among the rest of the non-packet fields in the struct
flow.  While in theory skipping a subtable on the basis of the
metadata field alone could produce more effective wildcards, on the
basis of our testsuite coverage it does not seem to be the case, as
removing the partitioning feature did not result in any test failures.

Removing the partitioning feature makes classifier lookups roughly 20%
faster when a wildcard mask is not needed, and roughly 10% faster when
a wildcard mask is needed, as tested with the test-classifier
benchmark with one lookup thread.

Found by profiling with 'perf'.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
lib/automake.mk
lib/classifier-private.h
lib/classifier.c
lib/tag.c [deleted file]
lib/tag.h [deleted file]