Skip to contentSkip to conversation

osm_state_mgr.c: Avoid ucast cache invalidation due to errors during initialization

PATCH New Hal Rosenstock 1 participant 1 message Sep 10, 2014 InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 osm_state_mgr.c: Avoid ucast cache invalidation due to errors during initialization

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

---
 opensm/osm_state_mgr.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
opensm/osm_state_mgr.c +8 -6
index 106159d..42d13bb 100644
@@ -1228,12 +1228,11 @@ static void do_sweep(osm_sm_t * sm)
 	}
 
 	/*
-	 * Unicast cache should be invalidated if there were errors
-	 * during initialization or if subnet re-route is requested.
+	 * Unicast cache should be invalidated when subnet re-route is
+	 * requested, and when OpenSM comes out of standby state.
 	 */
 	if (sm->p_subn->opt.use_ucast_cache &&
-	    (sm->p_subn->subnet_initialization_error ||
-	     sm->p_subn->force_reroute || sm->p_subn->coming_out_of_standby))
+	    (sm->p_subn->force_reroute || sm->p_subn->coming_out_of_standby))
 		osm_ucast_cache_invalidate(&sm->ucast_mgr);
 
 	/*
@@ -1458,9 +1457,12 @@ repeat_discovery:
 	 */
 
 	if (!sm->ucast_mgr.cache_valid ||
-	    osm_ucast_cache_process(&sm->ucast_mgr))
-		if (osm_ucast_mgr_process(&sm->ucast_mgr))
+	    osm_ucast_cache_process(&sm->ucast_mgr)) {
+		if (osm_ucast_mgr_process(&sm->ucast_mgr)) {
+			osm_ucast_cache_invalidate(&sm->ucast_mgr);
 			return;
+		}
+	}
 
 	osm_qos_setup(sm->p_subn->p_osm);
 

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