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: https://git.lttng.org./?a=commitdiff_plain;h=e650bcc12be0e62b166ffa1e5171fef2c437d267;p=lttng-modules.git 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;