Following previous patch 'opensm: improve multicast re-routing requests
processing' remove multicast change id (last_change_id, last_tree_id),
we don't need to track it anymore i- all requests are processed only
once per mlid.

Signed-off-by: Sasha Khapyorsky <sas...@voltaire.com>
---
 opensm/include/opensm/osm_multicast.h |   10 ----------
 opensm/opensm/osm_mcast_mgr.c         |   21 ++-------------------
 opensm/opensm/osm_multicast.c         |    7 -------
 3 files changed, 2 insertions(+), 36 deletions(-)

diff --git a/opensm/include/opensm/osm_multicast.h 
b/opensm/include/opensm/osm_multicast.h
index eda447e..ce3d310 100644
--- a/opensm/include/opensm/osm_multicast.h
+++ b/opensm/include/opensm/osm_multicast.h
@@ -128,8 +128,6 @@ typedef struct osm_mgrp {
        ib_member_rec_t mcmember_rec;
        boolean_t well_known;
        boolean_t to_be_deleted;
-       uint32_t last_change_id;
-       uint32_t last_tree_id;
        unsigned full_members;
 } osm_mgrp_t;
 /*
@@ -163,14 +161,6 @@ typedef struct osm_mgrp {
 *              track the fact the group is about to be deleted so we can
 *              track the fact a new join is actually a create request.
 *
-*      last_change_id
-*              a counter for the number of changes applied to the group.
-*              This counter shuold be incremented on any modification
-*              to the group: joining or leaving of ports.
-*
-*      last_tree_id
-*              the last change id used for building the current tree.
-*
 * SEE ALSO
 *********/
 
diff --git a/opensm/opensm/osm_mcast_mgr.c b/opensm/opensm/osm_mcast_mgr.c
index dd504ef..0553277 100644
--- a/opensm/opensm/osm_mcast_mgr.c
+++ b/opensm/opensm/osm_mcast_mgr.c
@@ -1039,12 +1039,10 @@ static ib_api_status_t mcast_mgr_process_mgrp(osm_sm_t 
* sm,
 
        if (p_mgrp->full_members) {
                status = mcast_mgr_build_spanning_tree(sm, p_mgrp);
-               if (status != IB_SUCCESS) {
+               if (status != IB_SUCCESS)
                        OSM_LOG(sm->p_log, OSM_LOG_ERROR, "ERR 0A17: "
                                "Unable to create spanning tree (%s)\n",
                                ib_get_err_str(status));
-                       goto Exit;
-               }
        } else  if (p_mgrp->to_be_deleted) {
                OSM_LOG(sm->p_log, OSM_LOG_DEBUG,
                        "Destroying mgrp with lid:0x%x\n",
@@ -1054,12 +1052,8 @@ static ib_api_status_t mcast_mgr_process_mgrp(osm_sm_t * 
sm,
                cl_fmap_remove_item(&sm->p_subn->mgrp_mgid_tbl,
                                    &p_mgrp->map_item);
                osm_mgrp_delete(p_mgrp);
-               goto Exit;
        }
 
-       p_mgrp->last_tree_id = p_mgrp->last_change_id;
-
-Exit:
        OSM_LOG_EXIT(sm->p_log);
        return status;
 }
@@ -1201,19 +1195,8 @@ int osm_mcast_mgr_process_mgroups(osm_sm_t * sm)
                if (!p_mgrp)
                        continue;
 
-               /* if there was no change from the last time
-                * we processed the group we can skip doing anything
-                */
-               if (p_mgrp->last_change_id == p_mgrp->last_tree_id) {
-                       OSM_LOG(sm->p_log, OSM_LOG_DEBUG,
-                               "Skip processing mgrp with lid:0x%X change 
id:%u\n",
-                               cl_ntoh16(mlid), p_mgrp->last_change_id);
-                       continue;
-               }
-
                OSM_LOG(sm->p_log, OSM_LOG_DEBUG,
-                       "Processing mgrp with lid:0x%X change id:%u\n",
-                       cl_ntoh16(mlid), p_mgrp->last_change_id);
+                       "Processing mgrp with lid:0x%x\n", cl_ntoh16(mlid));
                mcast_mgr_process_mgrp(sm, p_mgrp);
        }
 
diff --git a/opensm/opensm/osm_multicast.c b/opensm/opensm/osm_multicast.c
index 4b4a6b0..1326161 100644
--- a/opensm/opensm/osm_multicast.c
+++ b/opensm/opensm/osm_multicast.c
@@ -86,8 +86,6 @@ osm_mgrp_t *osm_mgrp_new(IN const ib_net16_t mlid)
        memset(p_mgrp, 0, sizeof(*p_mgrp));
        cl_qmap_init(&p_mgrp->mcm_port_tbl);
        p_mgrp->mlid = mlid;
-       p_mgrp->last_change_id = 0;
-       p_mgrp->last_tree_id = 0;
        p_mgrp->to_be_deleted = FALSE;
 
        return p_mgrp;
@@ -167,9 +165,6 @@ osm_mcm_port_t *osm_mgrp_add_port(IN osm_subn_t * subn, 
osm_log_t * log,
                p_mcm_port->scope_state =
                    ib_member_set_scope_state(prev_scope,
                                              prev_join_state | join_state);
-       } else {
-               /* track the fact we modified the group ports */
-               p_mgrp->last_change_id++;
        }
 
        if ((join_state & IB_JOIN_STATE_FULL) &&
@@ -211,8 +206,6 @@ int osm_mgrp_remove_port(osm_subn_t * subn, osm_log_t * 
log, osm_mgrp_t * mgrp,
                OSM_LOG(log, OSM_LOG_DEBUG, "removing port 0x%" PRIx64 "\n",
                        cl_ntoh64(mcm->port_gid.unicast.interface_id));
                osm_mcm_port_delete(mcm);
-               /* track the fact we modified the group */
-               mgrp->last_change_id++;
                ret = 1;
        }
 
-- 
1.6.4.2

_______________________________________________
general mailing list
general@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to