Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\torture.c Create Date:2022-07-28 13:50:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

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

Proto:void torture_kthread_stopping(char *title)

Type:void

Parameter:

TypeParameterName
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  When Not 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(). cycle
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)
Caller
NameDescribe
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.