ring_buffer_record_off(9)
okay bestie, you're looking at ring_buffer_record_off(9) from the Kernel API Manual, and it's giving "flip the switch, no more writes" energy. π
π NAME π
ring_buffer_record_off β stop all writes into the buffer. periodt.
β¨ SYNOPSIS β¨
void ring_buffer_record_off (struct trace_buffer *buffer );
π ARGUMENTS π
bufferβ the ring buffer you're telling to stop taking writes. that's the whole argument, bestie. π«Ά
π¦ DESCRIPTION π¦
okay so this one prevents all writes to the buffer. literally all of them. any attempt to write to the buffer after this will fail and return NULL. no cap. π
and yes, it's different from ring_buffer_record_disable: this one works like an on/off switch, whereas the disable version must be paired with an enable. so like, ring_buffer_record_off is the "just turn it off" girlie, and ring_buffer_record_disable is the "we're doing a matched set, don't forget the enable" girlie. π
tiny vibe check: the fail-and-return-NULL part is real, so don't act surprised when your write doesn't land.
π SEE ALSO π
the kernel file is ./kernel/trace/ring_buffer.c, and here's the whole friend group, in order:
ring_buffer_event_length(9),ring_buffer_event_data(9),rb_page_capacity(9),rb_subbuf_capacity(9),rb_subbuf_max_data_size(9),rb_subbuf_start(9),ring_buffer_event_time_stamp(9),ring_buffer_nr_dirty_pages(9),ring_buffer_wake_waiters(9),ring_buffer_wait(9),ring_buffer_poll_wait(9),rb_check_pages(9),rb_validate_buffer(9),__ring_buffer_alloc(9),__ring_buffer_alloc_range(9),__ring_buffer_alloc_remote(9),ring_buffer_free(9),ring_buffer_resize(9),rb_update_event(9),ring_buffer_nest_start(9),ring_buffer_nest_end(9),ring_buffer_unlock_commit(9),ring_buffer_lock_reserve(9),ring_buffer_discard_commit(9),ring_buffer_write(9),ring_buffer_record_disable(9),ring_buffer_record_enable(9),ring_buffer_record_on(9),ring_buffer_record_is_on(9),ring_buffer_record_is_set_on(9),ring_buffer_record_is_on_cpu(9),ring_buffer_record_disable_cpu(9),ring_buffer_record_enable_cpu(9),ring_buffer_oldest_event_ts(9),ring_buffer_bytes_cpu(9),ring_buffer_entries_cpu(9),ring_buffer_overrun_cpu(9),ring_buffer_commit_overrun_cpu(9),ring_buffer_dropped_events_cpu(9),ring_buffer_read_events_cpu(9),ring_buffer_entries(9),ring_buffer_overruns(9),ring_buffer_iter_reset(9),ring_buffer_iter_empty(9),ring_buffer_peek(9),ring_buffer_iter_peek(9),ring_buffer_consume(9),ring_buffer_read_start(9),ring_buffer_read_finish(9),ring_buffer_iter_advance(9),ring_buffer_size(9),ring_buffer_max_event_size(9),ring_buffer_reset_cpu(9),ring_buffer_reset_online_cpus(9),ring_buffer_reset(9),ring_buffer_empty(9),ring_buffer_empty_cpu(9),ring_buffer_swap_cpu(9),ring_buffer_alloc_read_page(9),ring_buffer_free_read_page(9),ring_buffer_read_page(9),ring_buffer_read_page_data(9),ring_buffer_read_page_size(9),ring_buffer_subbuf_size_get(9),ring_buffer_subbuf_order_get(9),ring_buffer_subbuf_order_set(9)
okay that's the page, bestie. source/version is ./kernel/trace, date is October 2026, and the page is ring_buffer_record_off(9) β mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms