On Tue, 01 Apr 2025 16:25:53 -0400
Steven Rostedt <[email protected]> wrote:

>  
>  static void
> @@ -7319,7 +7319,8 @@ int ring_buffer_map_get_reader(struct trace_buffer 
> *buffer, int cpu)
>  
>  out:
>       /* Some archs do not have data cache coherency between kernel and 
> user-space */
> -     flush_dcache_folio(virt_to_folio(cpu_buffer->reader_page->page));
> +     flush_kernel_vmap_range(cpu_buffer->reader_page->page,
> +                             buffer->subbuf_size + BUF_PAGE_HDR_SIZE);
>  
>       rb_update_meta_page(cpu_buffer);
>  

This patch actually fixes a bug (I need to update the change log).

The previous code only flushed a page. But if the sub-buffer size was 2 or
more pages, it would not flush the rest of the sub-buffer.

-- Steve

Reply via email to