Lines Matching refs:that
21 producer - the task that writes into the ring buffer (same as writer)
25 consumer - the task that reads from the buffer (same as reader)
32 head_page - a pointer to the page that the reader will use next
34 tail_page - a pointer to the page that will be written to next
38 cmpxchg - hardware-assisted atomic transaction that performs the following:
42 R = cmpxchg(A, C, B) is saying that we replace A with B if and only if
93 At initialization a reader page is allocated for the reader that is not
112 it wants with it, as long as a writer has left that page.
172 It is possible that the page swapped is the commit page and the tail page,
202 head page - the next page in the ring buffer that will be swapped
207 commit page - the page that last finished a write.
210 writer stack. A writer that preempts another writer will not move the
215 is finished writing data into that position, it commits the write.
281 The commit pointer points to the last write location that was
282 committed without preempting another write. When a write that
286 The commit page points to the page that has the last full commit.
311 There is a special case that the head page is after either the commit page
315 has been less than a full page that has been committed inside the ring buffer,
342 is still on that page. If the read meets the last commit (real commit
497 point to the reader page. Note that the new pointer does not have the HEADER
542 Another important point: The page that the reader page points back to
543 by its previous pointer (the one that now points to the new head page)
568 writer may move the tail page. The way this is done is that the writer
574 This eliminates any races that the reader can have on the writer. The reader
658 before pushing the head page. If it is, then it can be assumed that the
662 by the outermost writer (the writer that was preempted).
663 This means that the commit will not move while a writer is moving the
665 used as the commit page. The reader can simply check that the commit
668 buffer page that is also the commit page.
736 But if a nested writer preempts here, it will see that the next
737 page is a head page, but it is also nested. It will detect that
738 it is nested and will save that information. The detection is the
739 fact that it sees the UPDATE flag instead of a HEADER or NORMAL
753 that converted a pointer from HEAD to UPDATE will convert it back
851 But now that the third writer did change the HEAD flag to UPDATE it
927 back to NORMAL. The fact that it only needs to worry about nested
928 writers means that it only needs to check this after setting the HEAD page.