From: Mathieu Desnoyers Date: Mon, 19 Sep 2016 01:31:02 +0000 (-0400) Subject: Performance: Mark channel and buffer event disabled check unlikely X-Git-Tag: v2.9.0-rc1~16 X-Git-Url: http://git.liburcu.org/?p=lttng-ust.git;a=commitdiff_plain;h=f52a5702dbeb8125ca373ba363b29cbff3042cc1 Performance: Mark channel and buffer event disabled check unlikely Channel and buffer are typically enabled when tracing, else the probes would not be connected. Ensure the compiler optimizes for the right usual case. Signed-off-by: Mathieu Desnoyers --- diff --git a/libringbuffer/frontend_api.h b/libringbuffer/frontend_api.h index 93f6760b..5ddb8ac4 100644 --- a/libringbuffer/frontend_api.h +++ b/libringbuffer/frontend_api.h @@ -160,14 +160,14 @@ int lib_ring_buffer_reserve(const struct lttng_ust_lib_ring_buffer_config *confi unsigned long o_begin, o_end, o_old; size_t before_hdr_pad = 0; - if (uatomic_read(&chan->record_disabled)) + if (caa_unlikely(uatomic_read(&chan->record_disabled))) return -EAGAIN; if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) buf = shmp(handle, chan->backend.buf[ctx->cpu].shmp); else buf = shmp(handle, chan->backend.buf[0].shmp); - if (uatomic_read(&buf->record_disabled)) + if (caa_unlikely(uatomic_read(&buf->record_disabled))) return -EAGAIN; ctx->buf = buf;