Function report |
Source Code:kernel\trace\trace.c |
Create Date:2022-07-28 11:59:27 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__trace_array_vprintk
Proto:static int __trace_array_vprintk(struct ring_buffer *buffer, unsigned long ip, const char *fmt, va_list args)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct ring_buffer * | buffer | |
| unsigned long | ip | |
| const char * | fmt | |
| va_list | args |
| 3253 | call = event_print |
| 3255 | len = 0 |
| 3264 | pause_graph_tracing() |
| 3266 | pc = We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt. |
| 3267 | preempt_disable_notrace() |
| 3270 | tbuffer = Thise allows for lockless recording. If we're nested too deeply, then* this returns NULL. |
| 3271 | If Not tbuffer Then |
| 3272 | len = 0 |
| 3273 | Go to out_nobuffer |
| 3278 | local_save_flags(flags) |
| 3280 | event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, size, flags, pc) |
| 3284 | entry = g_buffer_event_data - return the data of the event*@event: the event to get the data from |
| 3287 | No 3D Now!( & buf, tbuffer, len + 1) |
| 3288 | If Not call_filter_check_discard(call, entry, buffer, event) Then |
| 3289 | __buffer_unlock_commit(buffer, event) |
| 3293 | out : |
| 3294 | put_trace_buf() |
| 3296 | out_nobuffer : |
| 3297 | preempt_enable_notrace() |
| 3298 | unpause_graph_tracing() |
| 3300 | Return len |
| Name | Describe |
|---|---|
| trace_array_vprintk | |
| trace_array_printk_buf |
| 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 |