ring_buffer_free_read_page(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

ring_buffer_free_read_page β€” free an allocated read page

Okay so bestie, welcome to the Kernel API Manual ✨ This page is literally about ring_buffer_free_read_page, and its whole vibe is giving an allocated read page back to the ring buffer. No cap.

🌸 SYNOPSIS 🌸

void ring_buffer_free_read_page (struct trace_buffer *buffer , int cpu ,
struct buffer_data_read_page *rpage );

πŸŽ€ ARGUMENTS πŸŽ€

  • buffer β€” the buffer the page was allocated for, aka the one it belongs to.
  • cpu β€” the cpu buffer the page came from.
  • rpage β€” the buffer_data_read_page to free.

πŸ’… DESCRIPTION πŸ’…

Free a page allocated from ring_buffer_alloc_read_page. That’s it, that’s the whole job. If you’ve got a read page in your hands and you’re done with it, call this and let it go. Slay.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file: ./kernel/trace/ring_buffer.c β€” also go peek at the rest of the ring buffer besties:

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_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_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).

Bye bestie β€” this little page lives in the Kernel API Manual, comes from ./kernel/trace, and is dated October 2026 πŸ’…πŸ¦‹

πŸ“¦ where this page comes from