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;  | 
