• Steven Rostedt's avatar
    ring-buffer: read page interface · 8789a9e7
    Steven Rostedt authored
    Impact: new API to ring buffer
    
    This patch adds a new interface into the ring buffer that allows a
    page to be read from the ring buffer on a given CPU. For every page
    read, one must also be given to allow for a "swap" of the pages.
    
     rpage = ring_buffer_alloc_read_page(buffer);
     if (!rpage)
    	goto err;
     ret = ring_buffer_read_page(buffer, &rpage, cpu, full);
     if (!ret)
    	goto empty;
     process_page(rpage);
     ring_buffer_free_read_page(rpage);
    
    The caller of these functions must handle any waits that are
    needed to wait for new data. The ring_buffer_read_page will simply
    return 0 if there is no data, or if "full" is set and the writer
    is still on the current page.
    Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    8789a9e7
ring_buffer.c 59.7 KB