• Steven Rostedt's avatar
    ring-buffer: prevent adding write in discarded area · c7b09308
    Steven Rostedt authored
    This a very tight race where an interrupt could come in and not
    have enough data to put into the end of a buffer page, and that
    it would fail to write and need to go to the next page.
    
    But if this happened when another writer was about to reserver
    their data, and that writer has smaller data to reserve, then
    it could succeed even though the interrupt moved the tail page.
    
    To pervent that, if we fail to store data, and by subtracting the
    amount we reserved we still have room for smaller data, we need
    to fill that space with "discarded" data.
    
    [ Impact: prevent race were buffer data may be lost ]
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    c7b09308
ring_buffer.c 78.5 KB