Files
linux/include/linux
Vincent Donnefort 117c39200d ring-buffer: Introducing ring-buffer mapping functions
In preparation for allowing the user-space to map a ring-buffer, add
a set of mapping functions:

  ring_buffer_{map,unmap}()

And controls on the ring-buffer:

  ring_buffer_map_get_reader()  /* swap reader and head */

Mapping the ring-buffer also involves:

  A unique ID for each subbuf of the ring-buffer, currently they are
  only identified through their in-kernel VA.

  A meta-page, where are stored ring-buffer statistics and a
  description for the current reader

The linear mapping exposes the meta-page, and each subbuf of the
ring-buffer, ordered following their unique ID, assigned during the
first mapping.

Once mapped, no subbuf can get in or out of the ring-buffer: the buffer
size will remain unmodified and the splice enabling functions will in
reality simply memcpy the data instead of swapping subbufs.

Link: https://lore.kernel.org/linux-trace-kernel/20240510140435.3550353-3-vdonnefort@google.com

CC: <linux-mm@kvack.org>
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-05-13 18:09:56 -04:00
..
2024-03-07 21:52:03 +00:00
2024-03-11 15:37:23 -07:00
2024-03-07 20:37:04 +00:00
2024-02-20 14:22:55 -05:00
2024-02-20 14:22:51 -05:00
2024-03-12 23:08:29 -07:00
2024-02-25 12:05:08 +01:00
2024-03-07 09:36:08 +01:00
2024-02-28 19:36:39 -08:00
2024-03-10 14:38:04 -07:00
2024-02-15 23:43:48 -05:00
2024-02-14 11:14:40 +01:00
2024-02-17 16:20:41 +01:00
2024-03-13 18:38:13 -04:00
2024-03-06 13:04:18 -08:00
2024-03-01 08:44:54 +00:00
2024-03-09 09:14:51 -05:00
2024-03-09 09:14:50 -05:00
2024-03-26 11:07:20 -07:00
2024-03-13 12:53:53 -07:00
2024-03-13 12:53:53 -07:00
2024-04-08 14:09:58 +01:00
2024-03-08 12:05:10 +01:00
2024-02-15 12:17:28 -05:00
2024-03-03 15:06:58 -08:00
2024-02-20 13:36:34 +01:00
2024-03-04 20:46:18 -08:00
2024-03-04 17:25:09 +01:00
2024-02-18 18:59:59 +01:00
2024-03-06 10:52:12 +01:00
2024-02-09 12:07:48 +00:00