Lines Matching refs:commit

191 It is possible that the page swapped is the commit page and the tail page,
196 reader page commit page tail page
230 commit page
233 The commit page only is updated by the outermost writer in the
235 commit page.
251 +---------+ <--- given back to writer (current commit)
257 Write commit::
264 +---------+ <--- next position for write (current commit)
274 +---------+ <-- current commit
286 +---------+ <--(last full commit)
290 |commit |
302 +---------+ <--(last full commit and tail pointer)
305 The commit pointer points to the last write location that was
307 preempted another write is committed, it only becomes a pending commit
308 and will not be a full commit until all writes have been committed.
310 The commit page points to the page that has the last full commit.
314 The tail page is always equal to or after the commit page. It may
315 be several pages ahead. If the tail page catches up to the commit
322 commit page
328 head page commit page |
336 There is a special case that the head page is after either the commit page
337 and possibly the tail page. That is when the commit (and tail) page has been
341 and a reader swaps out a page, it will be swapping out the commit page.
345 reader page commit page tail page
364 In this case, the head page will not move when the tail and commit
367 The reader cannot swap a page into the ring buffer if the commit page
368 is still on that page. If the read meets the last commit (real commit
370 The buffer is considered empty until another full commit finishes.
658 tail page may make it all the way around the buffer and meet the commit
660 of warning to the user). But what happens if the commit was still on the
661 reader page? The commit page is not part of the ring buffer. The tail page
665 reader page commit page
683 If the tail page were to simply push the head page forward, the commit when
686 The solution to this is to test if the commit page is on the reader page
690 This is not a race condition, because the commit page can only be moved
692 This means that the commit will not move while a writer is moving the
694 used as the commit page. The reader can simply check that the commit
695 is off the reader page. Once the commit page leaves the reader page
697 buffer page that is also the commit page.