Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\ring_buffer.c Create Date:2022-07-28 11:54:20
Last Modify:2020-03-17 19:30:04 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rb_end_commit

Proto:static __always_inline void rb_end_commit(struct ring_buffer_per_cpu *cpu_buffer)

Type:void

Parameter:

TypeParameterName
struct ring_buffer_per_cpu *cpu_buffer
2519  If uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, !local_read( & committing)) Then Return
2523  again :
2524  commits = local_read( & commits)
2526  The "volatile" is due to gcc bugs ()
2527  If local_read( & committing) == 1 Then rb_set_commit_to_write(cpu_buffer)
2530  local_dec( & committing)
2533  The "volatile" is due to gcc bugs ()
2540  If Value for the false possibility is greater at compile time(local_read( & commits) != commits) && Not local_read( & committing) Then
2542  local_inc( & committing)
2543  Go to again
Caller
NameDescribe
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