From: Mathieu Desnoyers Date: Sun, 25 Sep 2016 15:01:29 +0000 (-0400) Subject: Performance: Mark channel and buffer event disabled check unlikely X-Git-Tag: v2.9.0-rc1~13 X-Git-Url: http://git.lttng.org/?p=lttng-modules.git;a=commitdiff_plain;h=e650bcc12be0e62b166ffa1e5171fef2c437d267 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/lib/ringbuffer/frontend_api.h b/lib/ringbuffer/frontend_api.h index b92ff290..517af635 100644 --- a/lib/ringbuffer/frontend_api.h +++ b/lib/ringbuffer/frontend_api.h @@ -162,14 +162,14 @@ int lib_ring_buffer_reserve(const struct lib_ring_buffer_config *config, unsigned long o_begin, o_end, o_old; size_t before_hdr_pad = 0; - if (atomic_read(&chan->record_disabled)) + if (unlikely(atomic_read(&chan->record_disabled))) return -EAGAIN; if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) buf = per_cpu_ptr(chan->backend.buf, ctx->cpu); else buf = chan->backend.buf; - if (atomic_read(&buf->record_disabled)) + if (unlikely(atomic_read(&buf->record_disabled))) return -EAGAIN; ctx->buf = buf;