ring_buffer_write(9)
π NAME π
ring_buffer_write β write data to the buffer without reserving. Thatβs the whole vibe: no reserve step, just write, bestie.
Okay so welcome to the Kernel API Manual page for ring_buffer_write(9). This is your shortcut when you already have the data and just want it in the ring buffer. Letβs get into it π
β¨
β¨ SYNOPSIS β¨
int ring_buffer_write (struct trace_buffer *buffer , unsigned long
length , void *data );
π ARGUMENTS π
bufferβ the ring buffer youβre writing into.lengthβ the length of the data being written (excluding the event header).dataβ the actual data to write to the buffer.
π¦ DESCRIPTION π¦
Okay so picture this: this is basically ring_buffer_lock_reserve and ring_buffer_unlock_commit doing a fusion dance into one function. If you already have the data ready to write to the buffer, it may be easier to simply call this function. Lowkey convenient, fr fr.
Note, like ring_buffer_lock_reserve, the length is the length of the data and not the length of the event which would hold the header. Read that again, bestie: data length, not event-with-header length. Periodt. π
π SEE ALSO π
Kernel file ./kernel/trace/ring_buffer.c β and the whole squad:
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_record_disable(9),ring_buffer_record_enable(9),ring_buffer_record_off(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)
mwah π β source/version: ./kernel/trace; date: October 2026; page: ring_buffer_write(9). Stay iconic, bestie π
β¨
π¦ 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