Lines Matching refs:iter
1860 rb_iter_head_event(struct ring_buffer_iter *iter) in rb_iter_head_event() argument
1862 return __rb_page_index(iter->head_page, iter->head); in rb_iter_head_event()
1890 static void rb_inc_iter(struct ring_buffer_iter *iter) in rb_inc_iter() argument
1892 struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; in rb_inc_iter()
1900 if (iter->head_page == cpu_buffer->reader_page) in rb_inc_iter()
1901 iter->head_page = rb_set_head_page(cpu_buffer); in rb_inc_iter()
1903 rb_inc_page(cpu_buffer, &iter->head_page); in rb_inc_iter()
1905 iter->read_stamp = iter->head_page->page->time_stamp; in rb_inc_iter()
1906 iter->head = 0; in rb_inc_iter()
3396 static void rb_iter_reset(struct ring_buffer_iter *iter) in rb_iter_reset() argument
3398 struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; in rb_iter_reset()
3401 iter->head_page = cpu_buffer->reader_page; in rb_iter_reset()
3402 iter->head = cpu_buffer->reader_page->read; in rb_iter_reset()
3404 iter->cache_reader_page = iter->head_page; in rb_iter_reset()
3405 iter->cache_read = cpu_buffer->read; in rb_iter_reset()
3407 if (iter->head) in rb_iter_reset()
3408 iter->read_stamp = cpu_buffer->read_stamp; in rb_iter_reset()
3410 iter->read_stamp = iter->head_page->page->time_stamp; in rb_iter_reset()
3420 void ring_buffer_iter_reset(struct ring_buffer_iter *iter) in ring_buffer_iter_reset() argument
3425 if (!iter) in ring_buffer_iter_reset()
3428 cpu_buffer = iter->cpu_buffer; in ring_buffer_iter_reset()
3431 rb_iter_reset(iter); in ring_buffer_iter_reset()
3440 int ring_buffer_iter_empty(struct ring_buffer_iter *iter) in ring_buffer_iter_empty() argument
3444 cpu_buffer = iter->cpu_buffer; in ring_buffer_iter_empty()
3446 return iter->head_page == cpu_buffer->commit_page && in ring_buffer_iter_empty()
3447 iter->head == rb_commit_index(cpu_buffer); in ring_buffer_iter_empty()
3483 rb_update_iter_read_stamp(struct ring_buffer_iter *iter, in rb_update_iter_read_stamp() argument
3496 iter->read_stamp += delta; in rb_update_iter_read_stamp()
3504 iter->read_stamp += event->time_delta; in rb_update_iter_read_stamp()
3669 static void rb_advance_iter(struct ring_buffer_iter *iter) in rb_advance_iter() argument
3675 cpu_buffer = iter->cpu_buffer; in rb_advance_iter()
3680 if (iter->head >= rb_page_size(iter->head_page)) { in rb_advance_iter()
3682 if (iter->head_page == cpu_buffer->commit_page) in rb_advance_iter()
3684 rb_inc_iter(iter); in rb_advance_iter()
3688 event = rb_iter_head_event(iter); in rb_advance_iter()
3697 (iter->head_page == cpu_buffer->commit_page) && in rb_advance_iter()
3698 (iter->head + length > rb_commit_index(cpu_buffer)))) in rb_advance_iter()
3701 rb_update_iter_read_stamp(iter, event); in rb_advance_iter()
3703 iter->head += length; in rb_advance_iter()
3706 if ((iter->head >= rb_page_size(iter->head_page)) && in rb_advance_iter()
3707 (iter->head_page != cpu_buffer->commit_page)) in rb_advance_iter()
3708 rb_inc_iter(iter); in rb_advance_iter()
3783 rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts) in rb_iter_peek() argument
3790 cpu_buffer = iter->cpu_buffer; in rb_iter_peek()
3798 if (unlikely(iter->cache_read != cpu_buffer->read || in rb_iter_peek()
3799 iter->cache_reader_page != cpu_buffer->reader_page)) in rb_iter_peek()
3800 rb_iter_reset(iter); in rb_iter_peek()
3803 if (ring_buffer_iter_empty(iter)) in rb_iter_peek()
3820 if (iter->head >= rb_page_size(iter->head_page)) { in rb_iter_peek()
3821 rb_inc_iter(iter); in rb_iter_peek()
3825 event = rb_iter_head_event(iter); in rb_iter_peek()
3830 rb_inc_iter(iter); in rb_iter_peek()
3833 rb_advance_iter(iter); in rb_iter_peek()
3838 rb_advance_iter(iter); in rb_iter_peek()
3843 rb_advance_iter(iter); in rb_iter_peek()
3848 *ts = iter->read_stamp + event->time_delta; in rb_iter_peek()
3940 ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts) in ring_buffer_iter_peek() argument
3942 struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; in ring_buffer_iter_peek()
3948 event = rb_iter_peek(iter, ts); in ring_buffer_iter_peek()
4031 struct ring_buffer_iter *iter; in ring_buffer_read_prepare() local
4036 iter = kmalloc(sizeof(*iter), GFP_KERNEL); in ring_buffer_read_prepare()
4037 if (!iter) in ring_buffer_read_prepare()
4042 iter->cpu_buffer = cpu_buffer; in ring_buffer_read_prepare()
4047 return iter; in ring_buffer_read_prepare()
4077 ring_buffer_read_start(struct ring_buffer_iter *iter) in ring_buffer_read_start() argument
4082 if (!iter) in ring_buffer_read_start()
4085 cpu_buffer = iter->cpu_buffer; in ring_buffer_read_start()
4089 rb_iter_reset(iter); in ring_buffer_read_start()
4103 ring_buffer_read_finish(struct ring_buffer_iter *iter) in ring_buffer_read_finish() argument
4105 struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; in ring_buffer_read_finish()
4120 kfree(iter); in ring_buffer_read_finish()
4132 ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts) in ring_buffer_read() argument
4135 struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; in ring_buffer_read()
4140 event = rb_iter_peek(iter, ts); in ring_buffer_read()
4147 rb_advance_iter(iter); in ring_buffer_read()