On Fri, 17 Oct 2025 00:07:53 -0700
Randy Dunlap <[email protected]> wrote:

> Format the kernel-doc for RINGBUF_TYPE_DATA_TYPE_LEN_MAX correctly
> to prevent a kernel-doc warning:
> 
> Warning: include/linux/ring_buffer.h:61 Enum value
>  'RINGBUF_TYPE_DATA_TYPE_LEN_MAX' not described in enum 'ring_buffer_type'

Then this needs to be updated differently, because that "<=" is stating
what happens when the value is <= RINGBUF_TYPE_DATA_TYPE_LEN_MAX.

It wasn't random characters.

Basically, the enum describes the event type.

enum ring_buffer_type {
        RINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,
        RINGBUF_TYPE_PADDING,
        RINGBUF_TYPE_TIME_EXTEND,
        RINGBUF_TYPE_TIME_STAMP,
};

When the type is > 28 it is either a padding, time-extend or
time-stamp. But if it is less than or equal to
RINGBUF_TYPE_DATA_TYPE_LEN_MAX then it is the length of a data event.

Perhaps we should have it be:

 * 0:
 *                              Data record
 *                                array[0] holds the actual length
 *                                array[1..(length+3)/4] holds data
 *                                size = 4 + length (bytes)
 *
 * 1 - @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
 *                              Data record
 *                                length = type_len << 2
 *                                array[0..(length+3)/4-1] holds data
 *                                size = 4 + length (bytes)

  ?

This data is more important that making kerneldoc work.

-- Steve


> 
> Fixes: 334d4169a659 ("ring_buffer: compressed event header")
> Signed-off-by: Randy Dunlap <[email protected]>
> ---
> Cc: Lai Jiangshan <[email protected]>
> Cc: Steven Rostedt <[email protected]>
> Cc: Masami Hiramatsu <[email protected]>
> Cc: Mathieu Desnoyers <[email protected]>
> Cc: [email protected]
> ---
>  include/linux/ring_buffer.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-next-20251016.orig/include/linux/ring_buffer.h
> +++ linux-next-20251016/include/linux/ring_buffer.h
> @@ -43,7 +43,7 @@ struct ring_buffer_event {
>   *                            array[0] = top (28 .. 59) bits
>   *                            size = 8 bytes
>   *
> - * <= @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
> + * @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
>   *                           Data record
>   *                            If type_len is zero:
>   *                             array[0] holds the actual length


Reply via email to