selinux: increase avtab max buckets
authorStephen Smalley <sds@tycho.nsa.gov>
Tue, 24 Mar 2015 20:54:18 +0000 (16:54 -0400)
committerPaul Moore <pmoore@redhat.com>
Tue, 7 Apr 2015 00:16:23 +0000 (20:16 -0400)
Now that we can safely increase the avtab max buckets without
triggering high order allocations and have a hash function that
will make better use of the larger number of buckets, increase
the max buckets to 2^16.

Original:
101421 entries and 2048/2048 buckets used, longest chain length 374

With new hash function:
101421 entries and 2048/2048 buckets used, longest chain length 81

With increased max buckets:
101421 entries and 31078/32768 buckets used, longest chain length 12

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <pmoore@redhat.com>
security/selinux/ss/avtab.h

index 6d794a2eee57de27b3949e3c7697357823db5b10..adb451cd44f9d3175ba84e1686bfeeae06a803d2 100644 (file)
@@ -86,7 +86,7 @@ struct avtab_node *avtab_search_node_next(struct avtab_node *node, int specified
 void avtab_cache_init(void);
 void avtab_cache_destroy(void);
 
-#define MAX_AVTAB_HASH_BITS 11
+#define MAX_AVTAB_HASH_BITS 16
 #define MAX_AVTAB_HASH_BUCKETS (1 << MAX_AVTAB_HASH_BITS)
 
 #endif /* _SS_AVTAB_H_ */