/* * _thread_update_node_energy calls _read_ipmi_values and updates all values * for node consumption */ static int _update_node_infiniband(void) { acct_network_data_t net; int rc = SLURM_SUCCESS; slurm_mutex_lock(&ofed_lock); rc = _read_ofed_values(); memset(&net, 0, sizeof(acct_network_data_t)); net.packets_in = ofed_sens.rcvpkts; net.packets_out = ofed_sens.xmtpkts; net.size_in = (double) ofed_sens.rcvdata / 1048576; net.size_out = (double) ofed_sens.xmtdata / 1048576; acct_gather_profile_g_add_sample_data(ACCT_GATHER_PROFILE_NETWORK, &net); if (debug_flags & DEBUG_FLAG_INFINIBAND) { info("ofed-thread = %d sec, transmitted %"PRIu64" bytes, " "received %"PRIu64" bytes", (int) (ofed_sens.update_time - ofed_sens.last_update_time), ofed_sens.xmtdata, ofed_sens.rcvdata); } slurm_mutex_unlock(&ofed_lock); return rc; }
/* * _thread_update_node_energy calls _read_ipmi_values and updates all values * for node consumption */ static int _update_node_infiniband(void) { int rc; enum { FIELD_PACKIN, FIELD_PACKOUT, FIELD_MBIN, FIELD_MBOUT, FIELD_CNT }; acct_gather_profile_dataset_t dataset[] = { { "PacketsIn", PROFILE_FIELD_UINT64 }, { "PacketsOut", PROFILE_FIELD_UINT64 }, { "InMB", PROFILE_FIELD_DOUBLE }, { "OutMB", PROFILE_FIELD_DOUBLE }, { NULL, PROFILE_FIELD_NOT_SET } }; union { double d; uint64_t u64; } data[FIELD_CNT]; if (dataset_id < 0) { dataset_id = acct_gather_profile_g_create_dataset("Network", NO_PARENT, dataset); if (debug_flags & DEBUG_FLAG_INFINIBAND) debug("IB: dataset created (id = %d)", dataset_id); if (dataset_id == SLURM_ERROR) { error("IB: Failed to create the dataset for ofed"); return SLURM_ERROR; } } slurm_mutex_lock(&ofed_lock); if ((rc = _read_ofed_values()) != SLURM_SUCCESS) { slurm_mutex_unlock(&ofed_lock); return rc; } data[FIELD_PACKIN].u64 = ofed_sens.rcvpkts; data[FIELD_PACKOUT].u64 = ofed_sens.xmtpkts; data[FIELD_MBIN].d = (double) ofed_sens.rcvdata / (1 << 20); data[FIELD_MBOUT].d = (double) ofed_sens.xmtdata / (1 << 20); if (debug_flags & DEBUG_FLAG_INFINIBAND) { info("ofed-thread = %d sec, transmitted %"PRIu64" bytes, " "received %"PRIu64" bytes", (int) (ofed_sens.update_time - ofed_sens.last_update_time), ofed_sens.xmtdata, ofed_sens.rcvdata); } slurm_mutex_unlock(&ofed_lock); if (debug_flags & DEBUG_FLAG_PROFILE) { char str[256]; info("PROFILE-Network: %s", acct_gather_profile_dataset_str( dataset, data, str, sizeof(str))); } return acct_gather_profile_g_add_sample_data(dataset_id, (void *)data, ofed_sens.update_time); }