函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:rb_end_commit

函数原型:static __always_inline void rb_end_commit(struct ring_buffer_per_cpu *cpu_buffer)

返回类型:void

参数:

类型参数名称
struct ring_buffer_per_cpu *cpu_buffer
2519  如果uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, !local_read( & committing))则返回
2523  again :
2524  commits等于local_read( & commits)
2526  The "volatile" is due to gcc bugs ()
2527  如果local_read( & committing)恒等于1则rb_set_commit_to_write(cpu_buffer)
2530  local_dec( & committing)
2533  The "volatile" is due to gcc bugs ()
2540  如果此条件成立可能性小(为编译器优化)(local_read( & commits) != commits)且非local_read( & committing)则
2542  local_inc( & committing)
2543  转到:again
调用者
名称描述
rb_move_tailThis is the slow path, force gcc not to inline it.
rb_commit
rb_reserve_next_event
ring_buffer_discard_commitg_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