函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\ring_buffer.c Create Date:2022-07-27 13:01:10
Last Modify:2020-03-17 19:30:04 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:g_buffer_free_read_page - free an allocated read page*@buffer: the buffer the page was allocate for*@cpu: the cpu buffer the page came from*@data: the page to free* Free a page allocated from ring_buffer_alloc_read_page.

函数原型:void ring_buffer_free_read_page(struct ring_buffer *buffer, int cpu, void *data)

返回类型:void

参数:

类型参数名称
struct ring_buffer *buffer
intcpu
void *data
4642  cpu_buffer等于buffers[cpu]
4643  bpage等于data
4644  page等于virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(bpage)
4648  如果page_ref_count(page)大于1则转到:out
4651  local_irq_save(flags)
4652  r sched/core.c and kernel_lock.c: ( & lock)
4654  如果非free_page
4655  free_page等于bpage
4656  bpage = NULL
4659  arch_spin_unlock( & lock)
4660  local_irq_restore(flags)
4662  out :
4663  free_page((unsignedlong)bpage)
调用者
名称描述
read_page
tracing_buffers_release
buffer_ref_release
tracing_buffers_splice_read