X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fintel_pmu.c;h=f04f8871e18e492074b43a9a1b761c1e4d81fa93;hb=e10ce37462d3002c296efe1b5b955a0a498d1f3b;hp=3e97000f34c4ebfc099eab8b15dd72b4251e8e9d;hpb=0a600b591a897e0b7cc2097098ed3b014fb9eec8;p=collectd.git diff --git a/src/intel_pmu.c b/src/intel_pmu.c index 3e97000f..f04f8871 100644 --- a/src/intel_pmu.c +++ b/src/intel_pmu.c @@ -1,7 +1,7 @@ /** * collectd - src/intel_pmu.c * - * Copyright(c) 2017 Intel Corporation. All rights reserved. + * Copyright(c) 2017-2018 Intel Corporation. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -27,9 +27,9 @@ **/ #include "collectd.h" -#include "common.h" +#include "utils/common/common.h" -#include "utils_config_cores.h" +#include "utils/config_cores/config_cores.h" #include #include @@ -67,9 +67,9 @@ struct event_info { typedef struct event_info event_info_t; struct intel_pmu_ctx_s { - _Bool hw_cache_events; - _Bool kernel_pmu_events; - _Bool sw_events; + bool hw_cache_events; + bool kernel_pmu_events; + bool sw_events; char event_list_fn[PATH_MAX]; char **hw_events; size_t hw_events_count; @@ -196,7 +196,8 @@ static void pmu_dump_config(void) { DEBUG(PMU_PLUGIN ": software_events : %d", g_ctx.sw_events); for (size_t i = 0; i < g_ctx.hw_events_count; i++) { - DEBUG(PMU_PLUGIN ": hardware_events[%zu]: %s", i, g_ctx.hw_events[i]); + DEBUG(PMU_PLUGIN ": hardware_events[%" PRIsz "]: %s", i, + g_ctx.hw_events[i]); } } @@ -213,8 +214,12 @@ static void pmu_dump_cgroups(void) { return; } for (size_t j = 0; j < cgroup->num_cores; j++) - snprintf(cores + strlen(cores), cores_size - strlen(cores), " %d", - cgroup->cores[j]); + if (snprintf(cores + strlen(cores), cores_size - strlen(cores), " %d", + cgroup->cores[j]) < 0) { + DEBUG(PMU_PLUGIN ": Failed to write list of cores to string."); + sfree(cores); + return; + } DEBUG(PMU_PLUGIN ": group[%" PRIsz "]", i); DEBUG(PMU_PLUGIN ": description: %s", cgroup->desc); @@ -262,7 +267,7 @@ static int pmu_config_hw_events(oconfig_item_t *ci) { return -EINVAL; } - g_ctx.hw_events = calloc(ci->values_num, sizeof(char *)); + g_ctx.hw_events = calloc(ci->values_num, sizeof(*g_ctx.hw_events)); if (g_ctx.hw_events == NULL) { ERROR(PMU_PLUGIN ": Failed to allocate hw events."); return -ENOMEM; @@ -325,8 +330,8 @@ static int pmu_config(oconfig_item_t *ci) { return 0; } -static void pmu_submit_counter(char *cgroup, char *event, counter_t value, - meta_data_t *meta) { +static void pmu_submit_counter(const char *cgroup, const char *event, + counter_t value, meta_data_t *meta) { value_list_t vl = VALUE_LIST_INIT; vl.values = &(value_t){.counter = value}; @@ -441,7 +446,7 @@ static int pmu_add_events(struct eventlist *el, uint32_t type, /* Allocate memory for event struct that contains array of efd structs for all cores */ struct event *e = - calloc(sizeof(struct event) + sizeof(struct efd) * el->num_cpus, 1); + calloc(1, sizeof(struct event) + sizeof(struct efd) * el->num_cpus); if (e == NULL) { ERROR(PMU_PLUGIN ": Failed to allocate event structure"); return -ENOMEM; @@ -477,7 +482,7 @@ static int pmu_add_hw_events(struct eventlist *el, char **e, size_t count) { /* Allocate memory for event struct that contains array of efd structs for all cores */ struct event *e = - calloc(sizeof(struct event) + sizeof(struct efd) * el->num_cpus, 1); + calloc(1, sizeof(struct event) + sizeof(struct efd) * el->num_cpus); if (e == NULL) { free(events); return -ENOMEM;