From: Jérémie Galarneau Date: Tue, 11 Jun 2019 22:34:32 +0000 (-0400) Subject: Fix: Don't print ring-buffer's records count when it is not used X-Git-Tag: v2.12.0-pre~39 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=97df3a7fbf6c344169344bada5f0b484c239729e;p=lttng-modules.git Fix: Don't print ring-buffer's records count when it is not used The teardown of a ring buffer causes a number of diagnostic messages to be printed using printk. One of those contains the "records count", which is only updated when lttng-modules is built with LTTNG_RING_BUFFER_COUNT_EVENTS defined. Move the "records count" printing to a different function and stub it out when LTTNG_RING_BUFFER_COUNT_EVENTS is not defined (default configuration). This eliminates messages of the following form from the dmesg output when an LTTng session is torn down. [...] ring buffer relay-discard, cpu 0: 0 records written, 0 records overrun Signed-off-by: Jérémie Galarneau Signed-off-by: Mathieu Desnoyers --- diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c index f367dffc..0d2d6936 100644 --- a/lib/ringbuffer/ring_buffer_frontend.c +++ b/lib/ringbuffer/ring_buffer_frontend.c @@ -1498,12 +1498,13 @@ void lib_ring_buffer_print_buffer_errors(struct lib_ring_buffer *buf, cpu); } +#ifdef LTTNG_RING_BUFFER_COUNT_EVENTS static -void lib_ring_buffer_print_errors(struct channel *chan, - struct lib_ring_buffer *buf, int cpu) +void lib_ring_buffer_print_records_count(struct channel *chan, + struct lib_ring_buffer *buf, + int cpu) { const struct lib_ring_buffer_config *config = &chan->backend.config; - void *priv = chan->backend.priv; if (!strcmp(chan->backend.name, "relay-metadata")) { printk(KERN_DEBUG "ring buffer %s: %lu records written, " @@ -1517,7 +1518,26 @@ void lib_ring_buffer_print_errors(struct channel *chan, chan->backend.name, cpu, v_read(config, &buf->records_count), v_read(config, &buf->records_overrun)); + } +} +#else +static +void lib_ring_buffer_print_records_count(struct channel *chan, + struct lib_ring_buffer *buf, + int cpu) +{ +} +#endif + +static +void lib_ring_buffer_print_errors(struct channel *chan, + struct lib_ring_buffer *buf, int cpu) +{ + const struct lib_ring_buffer_config *config = &chan->backend.config; + void *priv = chan->backend.priv; + lib_ring_buffer_print_records_count(chan, buf, cpu); + if (strcmp(chan->backend.name, "relay-metadata")) { if (v_read(config, &buf->records_lost_full) || v_read(config, &buf->records_lost_wrap) || v_read(config, &buf->records_lost_big))