函数逻辑报告 |
Source Code:kernel\trace\ring_buffer.c |
Create Date:2022-07-27 12:58:30 |
| Last Modify:2020-03-17 19:30:04 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:g_buffer_wait - wait for input to the ring buffer*@buffer: buffer to wait on*@cpu: the cpu buffer to wait on*@full: wait until a full page is available, if @cpu != RING_BUFFER_ALL_CPUS* If @cpu == RING_BUFFER_ALL_CPUS then the task will wake up as soon
函数原型:int ring_buffer_wait(struct ring_buffer *buffer, int cpu, int full)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct ring_buffer * | buffer | |
| int | cpu | |
| int | full |
| 578 | cpu_buffer等于cpu_buffer |
| 579 | DEFINE_WAIT(wait) |
| 581 | ret等于0 |
| 588 | 如果cpu恒等于RING_BUFFER_ALL_CPUS则 |
| 592 | 否则 |
| 600 | 当(true)循环 |
| 626 | 如果full则full_waiters_pending = true |
| 628 | 否则waiters_pending = true |
| 631 | 如果signal_pending(当前进程)则 |
| 636 | 如果cpu恒等于RING_BUFFER_ALL_CPUS且非d_buffer_empty - is the ring buffer empty?*@buffer: The ring buffer to test则退出 |
| 649 | raw_spin_lock_irqsave( & serialize readers , flags) |
| 650 | pagebusy等于reader_page恒等于committed pages |
| 653 | 如果非shortest_full或shortest_full小于full则shortest_full等于full |
| 656 | raw_spin_unlock_irqrestore( & serialize readers , flags) |
| 662 | 进程调度 |
| 670 | 返回:ret |
| 名称 | 描述 |
|---|---|
| wait_on_pipe |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |