[ovs-dev] [mlhash 1/2] mac-learning: Fix serious performance bug in the learning table.

Ethan Jackson ethan at nicira.com
Fri Jul 22 01:18:00 UTC 2011


Due to a typo, the mac-learning hash table had dissolved into a
linked list.  This caused a significant reduction in performance.
---
 lib/mac-learning.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/mac-learning.c b/lib/mac-learning.c
index f9f4db3..ff240e9 100644
--- a/lib/mac-learning.c
+++ b/lib/mac-learning.c
@@ -74,7 +74,7 @@ mac_table_bucket(const struct mac_learning *ml,
                  uint16_t vlan)
 {
     uint32_t hash = mac_table_hash(mac, vlan);
-    const struct list *list = &ml->table[hash & MAC_HASH_BITS];
+    const struct list *list = &ml->table[hash & MAC_HASH_MASK];
     return (struct list *) list;
 }
 
-- 
1.7.6




More information about the dev mailing list