Skip to contentSkip to conversation

osm_state_mgr.c: Remove new_lft buffers cleanup

PATCH New Hal Rosenstock 1 participant 1 message Jan 8, 2015 InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH 2/5 osm_state_mgr.c: Remove new_lft buffers cleanup

From: Daniel Klein <danielk-VPRAkNaXOzVWk0Htik3J/[email protected]>

Removed code that cleans switch->new_lft buffers after routing. Change is required in order to enable OpenSM to use new_lft buffers for SA queries and unicast routing dump files.

new_lft buffers are automatically reallocated (if needed) and set to 0xFF when calling ucast_mgr_process.

---
 opensm/osm_state_mgr.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)
opensm/osm_state_mgr.c +5 -8
index 1fda3f6..976a691 100644
@@ -1127,7 +1127,7 @@ Exit:
 	OSM_LOG_EXIT(sm->p_log);
 }
 
-static void cleanup_switch(cl_map_item_t * item, void *log)
+static void check_switch_lft(cl_map_item_t * item, void *log)
 {
 	osm_switch_t *sw = (osm_switch_t *) item;
 
@@ -1139,10 +1139,6 @@ static void cleanup_switch(cl_map_item_t * item, void *log)
 			   "LFT of switch 0x%016" PRIx64 " (%s) is not up to date\n",
 			   cl_ntoh64(sw->p_node->node_info.node_guid),
 			   sw->p_node->print_desc);
-	else {
-		free(sw->new_lft);
-		sw->new_lft = NULL;
-	}
 }
 
 int wait_for_pending_transactions(osm_stats_t * stats)
@@ -1490,9 +1486,6 @@ repeat_discovery:
 	if (wait_for_pending_transactions(&sm->p_subn->p_osm->stats))
 		return;
 
-	/* cleanup switch lft buffers */
-	cl_qmap_apply_func(&sm->p_subn->sw_guid_tbl, cleanup_switch, sm->p_log);
-
 	/* We are done setting all LFTs so clear the ignore existing.
 	 * From now on, as long as we are still master, we want to
 	 * take into account these lfts. */
@@ -1559,6 +1552,10 @@ repeat_discovery:
 	 */
 	state_mgr_report_new_ports(sm);
 
+	/* check switch lft buffers assignments */
+	cl_qmap_apply_func(&sm->p_subn->sw_guid_tbl, check_switch_lft,
+			   sm->p_log);
+
 	/* in any case we zero this flag */
 	sm->p_subn->coming_out_of_standby = FALSE;
 	sm->p_subn->first_time_master_sweep = FALSE;
Signature · 6 lines
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html