Function report |
Source Code:kernel\trace\ring_buffer.c |
Create Date:2022-07-28 11:55:12 |
| Last Modify:2020-03-17 19:30:04 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:rb_buffer_peek
Proto:static struct ring_buffer_event *rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts, unsigned long *lost_events)
Type:struct ring_buffer_event
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct ring_buffer_per_cpu * | cpu_buffer | |
| u64 * | ts | |
| unsigned long * | lost_events |
| 3882 | nr_loops = 0 |
| 3886 | again : |
| 3893 | If uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, ++nr_loops > 2) Then Return NULL |
| 3896 | reader = rb_get_reader_page(cpu_buffer) |
| 3897 | If Not reader Then Return NULL |
| 3900 | event = rb_reader_event(cpu_buffer) |
| 3903 | Case type_len == RINGBUF_TYPE_PADDING |
| 3904 | If rb_null_event(event) Then uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, 1) |
| 3914 | Return event |
| 3916 | Case type_len == RINGBUF_TYPE_TIME_EXTEND |
| 3918 | rb_advance_reader(cpu_buffer) |
| 3919 | Go to again |
| 3921 | Case type_len == RINGBUF_TYPE_TIME_STAMP |
| 3922 | If ts Then |
| 3923 | 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 |
| 3924 | ring_buffer_normalize_time_stamp(buffer, cpu, ts) |
| 3928 | rb_advance_reader(cpu_buffer) |
| 3929 | Go to again |
| 3933 | ts = read_stamp + time_delta |
| 3934 | ring_buffer_normalize_time_stamp(buffer, cpu, ts) |
| 3937 | If lost_events Then lost_events = rb_lost_events(cpu_buffer) |
| 3939 | Return event |
| 3941 | Default |
| 3942 | BUG() |
| 3945 | Return NULL |
| Name | Describe |
|---|---|
| ring_buffer_peek | g_buffer_peek - peek at the next event to be read*@buffer: The ring buffer to read*@cpu: The cpu to peak at*@ts: The timestamp counter of this event |
| ring_buffer_consume | g_buffer_consume - return an event and consume it*@buffer: The ring buffer to get the next event from*@cpu: the cpu to read the buffer from*@ts: a variable to store the timestamp (may be NULL)*@lost_events: a variable to store if events were lost (may be |
| 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 |