diff mbox

opensm: perfmgr only run sweep timer when enabled.

Message ID 20110712180931.671ce7c5.weiny2@llnl.gov (mailing list archive)
State Accepted
Delegated to: Alex Netes
Headers show

Commit Message

Ira Weiny July 13, 2011, 1:09 a.m. UTC
Signed-off-by: Ira Weiny <weiny2@llnl.gov>
---
 include/opensm/osm_perfmgr.h |    7 +++++--
 opensm/osm_perfmgr.c         |    6 +++---
 2 files changed, 8 insertions(+), 5 deletions(-)

Comments

Alex Netes July 13, 2011, 12:41 p.m. UTC | #1
Hi Ira,

On 18:09 Tue 12 Jul     , Ira Weiny wrote:
> 
> Signed-off-by: Ira Weiny <weiny2@llnl.gov>
> ---

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/opensm/osm_perfmgr.h b/include/opensm/osm_perfmgr.h
index 34925e8..67c0ce4 100644
--- a/include/opensm/osm_perfmgr.h
+++ b/include/opensm/osm_perfmgr.h
@@ -167,8 +167,11 @@  inline static void osm_perfmgr_set_state(osm_perfmgr_t * p_perfmgr,
 					 osm_perfmgr_state_t state)
 {
 	p_perfmgr->state = state;
-	if (state == PERFMGR_STATE_ENABLED)
-		osm_sm_signal(p_perfmgr->sm, OSM_SIGNAL_PERFMGR_SWEEP);
+	if (state == PERFMGR_STATE_ENABLED) {
+		cl_timer_start(&p_perfmgr->sweep_timer, p_perfmgr->sweep_time_s * 1000);
+	} else {
+		cl_timer_stop(&p_perfmgr->sweep_timer);
+	}
 }
 
 inline static osm_perfmgr_state_t osm_perfmgr_get_state(osm_perfmgr_t * perfmgr)
diff --git a/opensm/osm_perfmgr.c b/opensm/osm_perfmgr.c
index cb1329e..ded5a5e 100644
--- a/opensm/osm_perfmgr.c
+++ b/opensm/osm_perfmgr.c
@@ -860,8 +860,7 @@  static void perfmgr_sweep(void *arg)
 {
 	osm_perfmgr_t *pm = arg;
 
-	if (pm->state == PERFMGR_STATE_ENABLED)
-		osm_sm_signal(pm->sm, OSM_SIGNAL_PERFMGR_SWEEP);
+	osm_sm_signal(pm->sm, OSM_SIGNAL_PERFMGR_SWEEP);
 	cl_timer_start(&pm->sweep_timer, pm->sweep_time_s * 1000);
 }
 
@@ -1380,7 +1379,8 @@  ib_api_status_t osm_perfmgr_init(osm_perfmgr_t * pm, osm_opensm_t * osm,
 
 	init_monitored_nodes(pm);
 
-	cl_timer_start(&pm->sweep_timer, pm->sweep_time_s * 1000);
+	if (pm->state == PERFMGR_STATE_ENABLED)
+		cl_timer_start(&pm->sweep_timer, pm->sweep_time_s * 1000);
 
 	status = IB_SUCCESS;
 Exit: