extern void acct_gather_infiniband_g_conf_set(s_p_hashtbl_t *tbl) { if (acct_gather_infiniband_init() < 0) return; (*(ops.conf_set))(tbl); }
extern void acct_gather_infiniband_g_conf_values(void *data) { if (acct_gather_infiniband_init() < 0) return; (*(ops.conf_values))(data); }
extern void acct_gather_infiniband_g_conf_options(s_p_options_t **full_options, int *full_options_cnt) { if (acct_gather_infiniband_init() < 0) return; (*(ops.conf_options))(full_options, full_options_cnt); }
extern int acct_gather_infiniband_startpoll(uint32_t frequency) { int retval = SLURM_SUCCESS; pthread_attr_t attr; if (acct_gather_infiniband_init() < 0) return SLURM_ERROR; if (!acct_shutdown) { error("acct_gather_infiniband_startpoll: " "poll already started!"); return retval; } acct_shutdown = false; freq = frequency; if (frequency == 0) { /* don't want dynamic monitoring? */ debug2("acct_gather_infiniband dynamic logging disabled"); return retval; } /* create polling thread */ slurm_attr_init(&attr); if (pthread_create(&watch_node_thread_id, &attr, &_watch_node, NULL)) { debug("acct_gather_infiniband failed to create _watch_node " "thread: %m"); } else debug3("acct_gather_infiniband dynamic logging enabled"); slurm_attr_destroy(&attr); return retval; }