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:19
Last Modify:2020-03-17 19:30:04 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rb_set_commit_to_write

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

Type:void

Parameter:

TypeParameterName
struct ring_buffer_per_cpu *cpu_buffer
2473  again :
2474  max_count = nr_pages * 100
2476  When committed pages != READ_ONCE(write to tail ) cycle
2477  If uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, !(--max_count)) Then Return
2479  If uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, _is_reader_page* The unique thing about the reader page, is that, if the* writer is ever on it, the previous pointer never points* back to the reader page.) Then Return
2482  local_set( & write committed index , rb_page_write(committed pages ))
2484  rb_inc_page(cpu_buffer, & committed pages )
2486  If rb_page_write(committed pages ) Then write_stamp = page time stamp
2490  The "volatile" is due to gcc bugs ()
2492  When rb_commit_index(cpu_buffer) != rb_page_write(committed pages ) cycle
2495  local_set( & write committed index , rb_page_write(committed pages ))
2497  uffer may be either ring_buffer or ring_buffer_per_cpu (cpu_buffer, local_read( & write committed index ) & ~The buffer page counters, write and entries, must be reset* atomically when crossing page boundaries. To synchronize this* update, two counters are inserted into the number. One is* the actual counter for the write position or count on the page.)
2500  The "volatile" is due to gcc bugs ()
2504  The "volatile" is due to gcc bugs ()
2511  If Value for the false possibility is greater at compile time(committed pages != READ_ONCE(write to tail )) Then Go to again
Caller
NameDescribe
rb_end_commit