函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\torture.c Create Date:2022-07-27 15:12:03
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Each kthread must wait for kthread_should_stop() before returning from* its top-level function, otherwise segfaults ensue

函数原型:void torture_kthread_stopping(char *title)

返回类型:void

参数:

类型参数名称
char *title
761  snprintf - Format a string and place it in a buffer*@buf: The buffer to place the result into*@size: The size of the buffer, including the trailing null space*@fmt: The format string to use*@
762  VERBOSE_TOROUT_STRING(buf)
763  当非kthread_should_stop - should this kthread return now?* When someone calls kthread_stop() on your kthread, it will be woken* and this will return true. You should then return, and your return* value will be passed through to kthread_stop().循环
764  Absorb kthreads into a kernel function that won't return, so that* they won't ever access module text or data again.
765  schedule_timeout_uninterruptible(1)
调用者
名称描述
lock_torture_readerLock torture reader kthread. Repeatedly acquires and releases* the reader lock.
lock_torture_statsPeriodically prints torture statistics, if periodic statistics printing* was specified via the stat_interval module parameter.* No need to worry about fullstop here, since this one doesn't reference* volatile state or register callbacks.
rcu_torture_boost
rcu_torture_fqsRCU torture force-quiescent-state kthread. Repeatedly induces* bursts of calls to force_quiescent_state(), increasing the probability* of occurrence of some important types of race conditions.
rcu_torture_writerRCU torture writer kthread. Repeatedly substitutes a new structure* for that pointed to by rcu_torture_current, freeing the old structure* after a series of grace periods (the "pipeline").
rcu_torture_fakewriterRCU torture fake writer kthread. Repeatedly calls sync, with a random* delay between calls.
rcu_torture_readerRCU torture reader kthread. Repeatedly dereferences rcu_torture_current,* incrementing the corresponding element of the pipeline array. The* counter in the element should never be greater than 1, otherwise, the* RCU implementation is broken.
rcu_torture_statsPeriodically prints torture statistics, if periodic statistics printing* was specified via the stat_interval module parameter.
rcu_torture_fwd_progCarry out grace-period forward-progress testing.
rcu_torture_barrier_cbskthread function to register callbacks used to test RCU barriers.
rcu_torture_barrierkthread function to drive and coordinate RCU barrier testing.
rcu_perf_readerRCU perf reader kthread. Repeatedly does empty RCU read-side* critical section, minimizing update-side interference.
rcu_perf_writerRCU perf writer kthread. Repeatedly does a grace period.
torture_shuffleShuffle tasks across CPUs, with the intent of allowing each CPU in the* system to become idle at a time and cut off its timer ticks. This is meant* to test the support for such tickless idle CPU in RCU.
torture_shutdownCause the torture test to shutdown the system after the test has* run for the time specified by the shutdown_secs parameter.
torture_stutterCause the torture test to "stutter", starting and stopping all* threads periodically.
lock_torture_writerLock torture writer kthread. Repeatedly acquires and releases* the lock, checking for duplicate acquisitions.