Lines Matching full:tasks

24  * struct rcu_tasks_percpu - Per-CPU component of definition for a Tasks-RCU-like mechanism.
34 * @rtp_blkd_tasks: List of tasks blocked as readers.
54 * struct rcu_tasks - Definition for a Tasks-RCU-like mechanism.
147 /* Track exiting tasks in order to allow them to be waited for. */
182 /* RCU tasks grace-period state for debugging. */
239 // Tasks RCU. Do not enqueue callbacks before this function is invoked.
321 // Enqueue a callback for the specified flavor of Tasks RCU.
395 // Wait for all in-flight callbacks for the specified RCU Tasks flavor.
599 // RCU-tasks kthread that detects grace periods and invokes callbacks.
619 * one RCU-tasks grace period and then invokes the callbacks. in rcu_tasks_kthread()
632 // Wait for a grace period for the specified flavor of Tasks RCU.
648 /* Spawn RCU-tasks grace-period kthread. */
662 * Print any non-default Tasks RCU settings.
678 pr_info("\tTrampoline variant of Tasks RCU enabled.\n"); in rcu_tasks_bootup_oddness()
681 pr_info("\tRude variant of Tasks RCU enabled.\n"); in rcu_tasks_bootup_oddness()
684 pr_info("\tTracing variant of Tasks RCU enabled.\n"); in rcu_tasks_bootup_oddness()
691 /* Dump out rcutorture-relevant state common to all RCU-tasks flavors. */
732 // Shared code between task-list-scanning variants of Tasks RCU.
734 /* Wait for one RCU-tasks grace period. */
751 * There were callbacks, so we need to wait for an RCU-tasks in rcu_tasks_wait_gp()
752 * grace period. Start off by scanning the task list for tasks in rcu_tasks_wait_gp()
753 * that are not already voluntarily blocked. Mark these tasks in rcu_tasks_wait_gp()
769 * tasks, removing any that are no longer holdouts. When the list in rcu_tasks_wait_gp()
854 // Invoke synchronize_srcu() to ensure that all tasks that were
856 // synchronize with this RCU Tasks grace period) have completed
864 // t->on_rq and t->nvcsw transitions are seen by all CPUs and tasks
865 // to have happened before the end of this RCU Tasks grace period.
908 * Idle tasks (or idle injection) within the idle loop are RCU-tasks in rcu_tasks_is_holdout()
917 /* Idle tasks on offline CPUs are RCU-tasks quiescent states. */ in rcu_tasks_is_holdout()
946 * Exiting tasks may escape the tasklist scan. Those are vulnerable in rcu_tasks_postscan()
968 /* See if tasks are still holding out, complain if so. */
988 pr_err("INFO: rcu_tasks detected stalls on tasks:\n"); in check_holdout_task()
1000 /* Scan the holdout lists for tasks no longer holding out. */
1012 /* Finish off the Tasks-RCU grace period. */
1018 * reordering on other CPUs could cause their RCU-tasks read-side in rcu_tasks_postgp()
1028 * In addition, this synchronize_rcu() waits for exiting tasks in rcu_tasks_postgp()
1032 * the final schedule() with TASK_DEAD state to be an RCU TASKS in rcu_tasks_postgp()
1039 DEFINE_RCU_TASKS(rcu_tasks, rcu_tasks_wait_gp, call_rcu_tasks, "RCU Tasks");
1050 …pr_info("Please check any exiting tasks stuck between calls to exit_tasks_rcu_start() and exit_tas… in tasks_rcu_exit_srcu_stall()
1068 * this primitive is intended to determine that all tasks have passed
1081 * synchronize_rcu_tasks - wait until an rcu-tasks grace period has elapsed.
1083 * Control will return to the caller some time after a full rcu-tasks
1085 * executing rcu-tasks read-side critical sections have elapsed. These
1192 // "Rude" variant of Tasks RCU, inspired by Steve Rostedt's trick of
1209 // Wait for one rude RCU-tasks grace period.
1218 "RCU Tasks Rude");
1232 * this primitive is intended to determine that all tasks have passed
1245 * synchronize_rcu_tasks_rude - wait for a rude rcu-tasks grace period
1247 * Control will return to the caller some time after a rude rcu-tasks
1249 * executing rcu-tasks read-side critical sections have elapsed. These
1311 // Tracing variant of Tasks RCU. This variant is designed to be used
1330 // flavors, rcu_preempt and rcu_sched. The fact that RCU Tasks Trace
1340 // Disables CPU hotplug, adds all currently executing tasks to the
1341 // holdout list, then checks the state of all tasks that blocked
1342 // or were preempted within their current RCU Tasks Trace read-side
1347 // Invokes synchronize_rcu() to wait for late-stage exiting tasks
1357 // The exit_tasks_rcu_finish_trace() synchronizes with exiting tasks.
1387 "RCU Tasks Trace");
1424 * Also remove from the per-CPU list of blocked tasks.
1546 // Check for "running" idle tasks on offline CPUs. in trc_inspect_reader()
1659 /* Initialize for a new RCU-tasks-trace grace period. */
1688 // Only after all running tasks have been accounted for is it in rcu_tasks_trace_pregp_step()
1689 // safe to take care of the tasks that have blocked within their in rcu_tasks_trace_pregp_step()
1690 // current RCU tasks trace read-side critical section. in rcu_tasks_trace_pregp_step()
1718 // Wait for late-stage exiting tasks to finish exiting. in rcu_tasks_trace_postscan()
1723 // Any tasks that exit after this point will set in rcu_tasks_trace_postscan()
1727 /* Communicate task state back to the RCU tasks trace stall warning request. */
1746 /* Show the state of a task stalling the current RCU tasks trace GP. */
1754 pr_err("INFO: rcu_tasks_trace detected stalls on tasks:\n"); in show_stalled_task_trace()
1777 /* List stalled IPIs for RCU tasks trace. */
1861 * The callback function will be invoked some time after a trace rcu-tasks
1863 * trace rcu-tasks read-side critical sections have completed. These
1877 * synchronize_rcu_tasks_trace - wait for a trace rcu-tasks grace period
1879 * Control will return to the caller some time after a trace rcu-tasks
1881 * trace rcu-tasks read-side critical sections have elapsed. These read-side
1895 …_held(&rcu_trace_lock_map), "Illegal synchronize_rcu_tasks_trace() in RCU Tasks Trace read-side cr… in synchronize_rcu_tasks_trace()
2012 pr_info("Running RCU Tasks wait API self tests\n"); in rcu_tasks_initiate_self_tests()
2019 pr_info("Running RCU Tasks Rude wait API self tests\n"); in rcu_tasks_initiate_self_tests()
2026 pr_info("Running RCU Tasks Trace wait API self tests\n"); in rcu_tasks_initiate_self_tests()