X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fdefaults.c;h=d131971ecf05e62b89d1cb1bd3db064c980b1d6c;hp=e670eeb0ffbb1b74819916dd7e58ad8cb3001e61;hb=78d8fb4ff7f6bfd6bf84994bd94a0edec6de0825;hpb=6dcd74cf9c4cce229b1c205ca05d8efcf4c4bceb diff --git a/src/common/defaults.c b/src/common/defaults.c index e670eeb0f..d131971ec 100644 --- a/src/common/defaults.c +++ b/src/common/defaults.c @@ -21,33 +21,40 @@ #include "defaults.h" #include "macros.h" +#include "align.h" -size_t default_channel_subbuf_size; -size_t default_metadata_subbuf_size; -size_t default_kernel_channel_subbuf_size; -size_t default_ust_pid_channel_subbuf_size; -size_t default_ust_uid_channel_subbuf_size; +static size_t default_channel_subbuf_size; +static size_t default_metadata_subbuf_size; +static size_t default_kernel_channel_subbuf_size; +static size_t default_ust_pid_channel_subbuf_size; +static size_t default_ust_uid_channel_subbuf_size; -static void __attribute__((constructor)) init_defaults(void) +LTTNG_HIDDEN +size_t default_get_channel_subbuf_size(void) { - /* - * The libringbuffer won't accept subbuf sizes smaller than the page size. - * If the default subbuf size is smaller, replace it by the page size. - */ - long page_size = sysconf(_SC_PAGESIZE); - - if (page_size < 0) { - page_size = 0; - } - - default_channel_subbuf_size = - max(_DEFAULT_CHANNEL_SUBBUF_SIZE, page_size); - default_metadata_subbuf_size = - max(DEFAULT_METADATA_SUBBUF_SIZE, page_size); - default_kernel_channel_subbuf_size = - max(DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE, page_size); - default_ust_pid_channel_subbuf_size = - max(DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE, page_size); - default_ust_uid_channel_subbuf_size = - max(DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE, page_size); + return max(_DEFAULT_CHANNEL_SUBBUF_SIZE, PAGE_SIZE); +} + +LTTNG_HIDDEN +size_t default_get_metadata_subbuf_size(void) +{ + return max(DEFAULT_METADATA_SUBBUF_SIZE, PAGE_SIZE); +} + +LTTNG_HIDDEN +size_t default_get_kernel_channel_subbuf_size(void) +{ + return max(DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE, PAGE_SIZE); +} + +LTTNG_HIDDEN +size_t default_get_ust_pid_channel_subbuf_size(void) +{ + return max(DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE, PAGE_SIZE); +} + +LTTNG_HIDDEN +size_t default_get_ust_uid_channel_subbuf_size(void) +{ + return max(DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE, PAGE_SIZE); }