Function report |
Source Code:kernel\trace\ring_buffer.c |
Create Date:2022-07-28 11:54:17 |
| Last Modify:2020-03-17 19:30:04 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:rb_try_to_discard
Proto:static inline int rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer, struct ring_buffer_event *event)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct ring_buffer_per_cpu * | cpu_buffer | |
| struct ring_buffer_event * | event |
| 2423 | new_index = rb_event_index(event) |
| 2424 | old_index = new_index + Return total length of time extend and data,* or just the event length for all other events. |
| 2428 | bpage = READ_ONCE(write to tail ) |
| 2430 | If Actual data page == addr && rb_page_write(bpage) == old_index Then |
| 2433 | event_length = Return the length of the given event. Will return* the length of the time extend if the event is a* time extend. |
| 2440 | old_index += write_mask |
| 2441 | new_index += write_mask |
| 2442 | index = local_cmpxchg( & dex for next write , old_index, new_index) |
| 2445 | local_sub(event_length, & entries_bytes) |
| 2446 | Return 1 |
| 2451 | Return 0 |
| Name | Describe |
|---|---|
| ring_buffer_discard_commit | g_buffer_commit_discard - discard an event that has not been committed*@buffer: the ring buffer*@event: non committed event to discard* Sometimes an event that is in the ring buffer needs to be ignored |
| 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 |