X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Fcounter%2Fcounter-api.h;h=c9f2b141d80e405166364ee9dc98b9d41a2349b5;hb=6347a94fa7275a9e5ba16086309eb6921d185a7f;hp=02d709a1e3dd6ca74a9c0fea9bba2e4e4b58597f;hpb=f801323dd7650782241e276d5a2971fc37312fa8;p=lttng-modules.git diff --git a/include/counter/counter-api.h b/include/counter/counter-api.h index 02d709a1..c9f2b141 100644 --- a/include/counter/counter-api.h +++ b/include/counter/counter-api.h @@ -15,12 +15,13 @@ #include #include #include +#include #include /* * Using unsigned arithmetic because overflow is defined. */ -static inline int __lttng_counter_add(const struct lib_counter_config *config, +static __always_inline int __lttng_counter_add(const struct lib_counter_config *config, enum lib_counter_config_alloc alloc, enum lib_counter_config_sync sync, struct lib_counter *counter, @@ -80,6 +81,8 @@ static inline int __lttng_counter_add(const struct lib_counter_config *config, } while (old != res); break; } + default: + return -EINVAL; } if (v > 0 && (v >= U8_MAX || n < old)) overflow = true; @@ -119,6 +122,8 @@ static inline int __lttng_counter_add(const struct lib_counter_config *config, } while (old != res); break; } + default: + return -EINVAL; } if (v > 0 && (v >= U16_MAX || n < old)) overflow = true; @@ -158,6 +163,8 @@ static inline int __lttng_counter_add(const struct lib_counter_config *config, } while (old != res); break; } + default: + return -EINVAL; } if (v > 0 && (v >= U32_MAX || n < old)) overflow = true; @@ -198,6 +205,8 @@ static inline int __lttng_counter_add(const struct lib_counter_config *config, } while (old != res); break; } + default: + return -EINVAL; } if (v > 0 && n < old) overflow = true; @@ -218,7 +227,7 @@ static inline int __lttng_counter_add(const struct lib_counter_config *config, return 0; } -static inline int __lttng_counter_add_percpu(const struct lib_counter_config *config, +static __always_inline int __lttng_counter_add_percpu(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes, int64_t v) { @@ -235,7 +244,7 @@ static inline int __lttng_counter_add_percpu(const struct lib_counter_config *co return 0; } -static inline int __lttng_counter_add_global(const struct lib_counter_config *config, +static __always_inline int __lttng_counter_add_global(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes, int64_t v) { @@ -243,12 +252,13 @@ static inline int __lttng_counter_add_global(const struct lib_counter_config *co dimension_indexes, v, NULL); } -static inline int lttng_counter_add(const struct lib_counter_config *config, +static __always_inline int lttng_counter_add(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes, int64_t v) { switch (config->alloc) { - case COUNTER_ALLOC_PER_CPU: /* Fallthrough */ + case COUNTER_ALLOC_PER_CPU: + lttng_fallthrough; case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: return __lttng_counter_add_percpu(config, counter, dimension_indexes, v); case COUNTER_ALLOC_GLOBAL: @@ -258,14 +268,14 @@ static inline int lttng_counter_add(const struct lib_counter_config *config, } } -static inline int lttng_counter_inc(const struct lib_counter_config *config, +static __always_inline int lttng_counter_inc(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes) { return lttng_counter_add(config, counter, dimension_indexes, 1); } -static inline int lttng_counter_dec(const struct lib_counter_config *config, +static __always_inline int lttng_counter_dec(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes) {