diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-12-20 22:12:19 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-01-03 08:39:55 -0500 |
| commit | 7315ecdabe2e06fb75b860b65c842f0083da730e (patch) | |
| tree | 44ac8ffa0df3fcdec159ac4c7e4ded03b2883f85 /pimd/pim_instance.h | |
| parent | 93789698ce426d0b3dd7a9bc0ba7b8f3f5b11bac (diff) | |
pimd: Convert the channel_oil_list|hash to a rb_tree
The channel_oil_list and hash are taking significant
cpu at scale when adding to the sorted list. Replace
with a RB_TREE.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_instance.h')
| -rw-r--r-- | pimd/pim_instance.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h index dd3ac8fcb0..5a95043df9 100644 --- a/pimd/pim_instance.h +++ b/pimd/pim_instance.h @@ -28,6 +28,7 @@ #include "pim_assert.h" #include "pim_bsm.h" #include "pim_vxlan_instance.h" +#include "pim_oil.h" #if defined(HAVE_LINUX_MROUTE_H) #include <linux/mroute.h> @@ -119,8 +120,7 @@ struct pim_instance { int iface_vif_index[MAXVIFS]; - struct list *channel_oil_list; - struct hash *channel_oil_hash; + struct rb_pim_oil_head channel_oil_head; struct pim_msdp msdp; struct pim_vxlan_instance vxlan; |
