Function report |
Source Code:kernel\trace\ring_buffer.c |
Create Date:2022-07-28 11:55:15 |
Last Modify:2020-03-17 19:30:04 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:rb_iter_peek
Proto:static struct ring_buffer_event *rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts)
Type:struct ring_buffer_event
Parameter:
Type | Parameter | Name |
---|---|---|
struct ring_buffer_iter * | iter | |
u64 * | ts |
3955 | nr_loops = 0 |
3960 | cpu_buffer = cpu_buffer |
3968 | If Value for the false possibility is greater at compile time(cache_read != read || cache_reader_page != reader_page) Then rb_iter_reset(iter) |
3972 | again : |
3973 | If g_buffer_iter_empty - check if an iterator has no more to read*@iter: The iterator to check Then Return NULL |
3984 | If uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, ++nr_loops > 3) Then Return NULL |
3987 | If rb_per_cpu_empty(cpu_buffer) Then Return NULL |
3990 | If head >= Size is determined by what has been committed Then |
3991 | rb_inc_iter(iter) |
3992 | Go to again |
3995 | event = rb_iter_head_event(iter) |
3998 | Case type_len == RINGBUF_TYPE_PADDING |
3999 | If rb_null_event(event) Then |
4000 | rb_inc_iter(iter) |
4001 | Go to again |
4003 | rb_advance_iter(iter) |
4004 | Return event |
4006 | Case type_len == RINGBUF_TYPE_TIME_EXTEND |
4008 | rb_advance_iter(iter) |
4009 | Go to again |
4011 | Case type_len == RINGBUF_TYPE_TIME_STAMP |
4012 | If ts Then |
4013 | ts = g_buffer_event_time_stamp - return the event's extended timestamp*@event: the event to get the timestamp of* Returns the extended timestamp associated with a data event |
4014 | ring_buffer_normalize_time_stamp(buffer, cpu, ts) |
4018 | rb_advance_iter(iter) |
4019 | Go to again |
4023 | ts = read_stamp + time_delta |
4024 | ring_buffer_normalize_time_stamp(buffer, cpu, ts) |
4027 | Return event |
4029 | Default |
4030 | BUG() |
4033 | Return NULL |
Name | Describe |
---|---|
ring_buffer_iter_peek | g_buffer_iter_peek - peek at the next event to be read*@iter: The ring buffer iterator*@ts: The timestamp counter of this event.* This will return the event that will be read next, but does* not increment the iterator. |
ring_buffer_read | g_buffer_read - read the next item in the ring buffer by the iterator*@iter: The ring buffer iterator*@ts: The time stamp of the event read.* This reads the next event in the ring buffer and increments the iterator. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |