• Home
  • Raw
  • Download

Lines Matching refs:tail

21 tail
191 It is possible that the page swapped is the commit page and the tail page,
196 reader page commit page tail page
227 tail page
253 +---------+ <--- tail pointer
278 +---------+ <--- tail pointer
291 +---------+ <--- tail pointer
302 +---------+ <--(last full commit and tail pointer)
311 The tail page points to the page with the last write (before
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
323 tail page
327 tail page
337 and possibly the tail page. That is when the commit (and tail) page has been
345 reader page commit page tail page
364 In this case, the head page will not move when the tail and commit
372 When the tail meets the head page, if the buffer is in overwrite mode,
378 tail page
390 tail page
402 tail page
461 When the tail page meets the head pointer, it will use cmpxchg to
465 tail page
473 tail page
595 When the tail page meets the head page and the buffer is in overwrite mode
597 writer may move the tail page. The way this is done is that the writer
606 tail page
614 tail page
624 tail page
635 tail page
643 After the head page has been moved, the tail page may now move forward::
645 tail page
658 tail page may make it all the way around the buffer and meet the commit
661 reader page? The commit page is not part of the ring buffer. The tail page
681 tail page
683 If the tail page were to simply push the head page forward, the commit when
688 tail page wrapped the buffer, and we must drop new writes.
693 tail page. The reader cannot swap the reader page if it is also being
703 In the pushing forward of the tail page we must first push forward
705 is not the next page, the tail page is simply updated with a cmpxchg.
707 Only writers move the tail page. This must be done atomically to protect
714 The above will update the tail page if it is still pointing to the expected
722 tail page
730 Nested write comes in and moves the tail page forward::
732 tail page (moved by nested writer)
741 The above would fail the cmpxchg, but since the tail page has already
743 on the new tail page.
747 tail page
757 tail page
773 tail page
785 tail page
797 tail page
807 the tail page ahead several pages::
812 tail page
822 tail page
835 tail page
843 The nested writer moves the tail page forward. But does not set the old
846 tail page
854 Another writer preempts and sees the page after the tail page is a head page.
859 tail page
872 tail page
886 tail page
895 Then it will move the tail page, and return back to the second writer::
900 tail page
909 The second writer will fail to move the tail page because it was already
910 moved, so it will try again and add its data to the new tail page.
916 tail page
924 The first writer cannot know atomically if the tail page moved
931 tail page
942 if the tail page is either where it use to be or on the next page::
947 A B tail page
955 If tail page != A and tail page != B, then it must reset the pointer
962 A B tail page
977 A B tail page