X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fvm_power_manager%2Fchannel_manager.c;h=22c2ddd553a5879d2d85179933120232b6079466;hb=dc81ebbacaeb87d9dab302576ab676564c78557e;hp=9968ed9315e3cd9a1efd0013e1adfc68fa992393;hpb=e8ae9b6625067b789117738592e88140a10ed7a8;p=dpdk.git diff --git a/examples/vm_power_manager/channel_manager.c b/examples/vm_power_manager/channel_manager.c index 9968ed9315..22c2ddd553 100644 --- a/examples/vm_power_manager/channel_manager.c +++ b/examples/vm_power_manager/channel_manager.c @@ -45,7 +45,6 @@ #include #include -#include #include #include #include @@ -389,7 +388,7 @@ add_all_channels(const char *vm_name) errno = 0; channel_num = (unsigned)strtol(remaining, &tail_ptr, 0); if ((errno != 0) || (remaining[0] == '\0') || - (*tail_ptr != '\0') || tail_ptr == NULL) { + tail_ptr == NULL || (*tail_ptr != '\0')) { RTE_LOG(WARNING, CHANNEL_MANAGER, "Malformed channel name" "'%s' found it should be in the form of " "'.(decimal)'\n", @@ -408,7 +407,7 @@ add_all_channels(const char *vm_name) continue; chan_info = rte_malloc(NULL, sizeof(*chan_info), - CACHE_LINE_SIZE); + RTE_CACHE_LINE_SIZE); if (chan_info == NULL) { RTE_LOG(ERR, CHANNEL_MANAGER, "Error allocating memory for " "channel '%s%s'\n", CHANNEL_MGR_SOCKET_PATH, dir->d_name); @@ -476,7 +475,7 @@ add_channels(const char *vm_name, unsigned *channel_list, continue; } chan_info = rte_malloc(NULL, sizeof(*chan_info), - CACHE_LINE_SIZE); + RTE_CACHE_LINE_SIZE); if (chan_info == NULL) { RTE_LOG(ERR, CHANNEL_MANAGER, "Error allocating memory for " "channel '%s'\n", socket_path); @@ -597,7 +596,7 @@ get_info_vm(const char *vm_name, struct vm_info *info) ITERATIVE_BITMASK_CHECK_64(mask, i) { info->channels[channel_num].channel_num = i; memcpy(info->channels[channel_num].channel_path, - vm_info->channels[i]->channel_path, PATH_MAX); + vm_info->channels[i]->channel_path, UNIX_PATH_MAX); info->channels[channel_num].status = vm_info->channels[i]->status; info->channels[channel_num].fd = vm_info->channels[i]->fd; channel_num++; @@ -639,7 +638,7 @@ add_vm(const char *vm_name) } new_domain = rte_malloc("virtual_machine_info", sizeof(*new_domain), - CACHE_LINE_SIZE); + RTE_CACHE_LINE_SIZE); if (new_domain == NULL) { RTE_LOG(ERR, CHANNEL_MANAGER, "Unable to allocate memory for VM " "info\n"); @@ -734,7 +733,7 @@ connect_hypervisor(const char *path) int channel_manager_init(const char *path) { - int n_cpus; + virNodeInfo info; LIST_INIT(&vm_list_head); if (connect_hypervisor(path) < 0) { @@ -745,30 +744,30 @@ channel_manager_init(const char *path) global_maplen = VIR_CPU_MAPLEN(CHANNEL_CMDS_MAX_CPUS); global_vircpuinfo = rte_zmalloc(NULL, sizeof(*global_vircpuinfo) * - CHANNEL_CMDS_MAX_CPUS, CACHE_LINE_SIZE); + CHANNEL_CMDS_MAX_CPUS, RTE_CACHE_LINE_SIZE); if (global_vircpuinfo == NULL) { RTE_LOG(ERR, CHANNEL_MANAGER, "Error allocating memory for CPU Info\n"); goto error; } global_cpumaps = rte_zmalloc(NULL, CHANNEL_CMDS_MAX_CPUS * global_maplen, - CACHE_LINE_SIZE); + RTE_CACHE_LINE_SIZE); if (global_cpumaps == NULL) { goto error; } - n_cpus = virNodeGetCPUMap(global_vir_conn_ptr, NULL, NULL, 0); - if (n_cpus <= 0) { - RTE_LOG(ERR, CHANNEL_MANAGER, "Unable to get the number of Host " - "CPUs\n"); + if (virNodeGetInfo(global_vir_conn_ptr, &info)) { + RTE_LOG(ERR, CHANNEL_MANAGER, "Unable to retrieve node Info\n"); goto error; } - global_n_host_cpus = (unsigned)n_cpus; - if (global_n_host_cpus > CHANNEL_CMDS_MAX_CPUS) { - RTE_LOG(ERR, CHANNEL_MANAGER, "The number of host CPUs(%u) exceeds the " - "maximum of %u\n", global_n_host_cpus, CHANNEL_CMDS_MAX_CPUS); - goto error; + global_n_host_cpus = (unsigned)info.cpus; + if (global_n_host_cpus > CHANNEL_CMDS_MAX_CPUS) { + RTE_LOG(WARNING, CHANNEL_MANAGER, "The number of host CPUs(%u) exceeds the " + "maximum of %u. No cores over %u should be used.\n", + global_n_host_cpus, CHANNEL_CMDS_MAX_CPUS, + CHANNEL_CMDS_MAX_CPUS - 1); + global_n_host_cpus = CHANNEL_CMDS_MAX_CPUS; } return 0; @@ -800,9 +799,7 @@ channel_manager_exit(void) rte_free(vm_info); } - if (global_cpumaps != NULL) - rte_free(global_cpumaps); - if (global_vircpuinfo != NULL) - rte_free(global_vircpuinfo); + rte_free(global_cpumaps); + rte_free(global_vircpuinfo); disconnect_hypervisor(); }