Lines Matching full:tasks
11 * When CPU, memory and IO are contended, tasks experience delays that
30 * In the SOME state of a given resource, one or more tasks are
32 * perform work, but the CPU may still be executing other tasks.
34 * In the FULL state of a given resource, all non-idle tasks are
48 * FULL means all non-idle tasks in the cgroup are delayed on the CPU
62 * The more tasks and available CPUs there are, the more work can be
65 * tasks and CPUs.
67 * Consider a scenario where 257 number crunching tasks are trying to
75 * Conversely, consider a scenario of 4 tasks and 4 CPUs where at any
76 * given time *one* of the tasks is delayed due to a lack of memory.
83 * we have to base our calculation on the number of non-idle tasks in
86 * delayed tasks to possible threads, and FULL is the share of possible
99 * For the 1 out of 4 memory-delayed tasks, this yields:
221 static u32 test_states(unsigned int *tasks, u32 state_mask) in test_states() argument
225 if (tasks[NR_IOWAIT]) { in test_states()
227 if (!tasks[NR_RUNNING]) in test_states()
231 if (tasks[NR_MEMSTALL]) { in test_states()
233 if (tasks[NR_RUNNING] == tasks[NR_MEMSTALL_RUNNING]) in test_states()
237 if (tasks[NR_RUNNING] > oncpu) in test_states()
240 if (tasks[NR_RUNNING] && !oncpu) in test_states()
243 if (tasks[NR_IOWAIT] || tasks[NR_MEMSTALL] || tasks[NR_RUNNING]) in test_states()
255 unsigned int tasks[NR_PSI_TASK_COUNTS]; in get_recent_times() local
271 memcpy(tasks, groupc->tasks, sizeof(groupc->tasks)); in get_recent_times()
309 reschedule = tasks[NR_RUNNING] + in get_recent_times()
310 tasks[NR_IOWAIT] + in get_recent_times()
311 tasks[NR_MEMSTALL] > 1; in get_recent_times()
788 * assess the aggregate resource states this CPU's tasks in psi_group_change()
818 if (groupc->tasks[t]) { in psi_group_change()
819 groupc->tasks[t]--; in psi_group_change()
821 … printk_deferred(KERN_ERR "psi: task underflow! cpu=%d t=%d tasks=[%u %u %u %u] clear=%x set=%x\n", in psi_group_change()
822 cpu, t, groupc->tasks[0], in psi_group_change()
823 groupc->tasks[1], groupc->tasks[2], in psi_group_change()
824 groupc->tasks[3], clear, set); in psi_group_change()
831 groupc->tasks[t]++; in psi_group_change()
850 state_mask = test_states(groupc->tasks, state_mask); in psi_group_change()
854 * when there are no other working tasks, but also when in psi_group_change()
980 * any other differences between the two tasks (e.g. prev goes in psi_task_switch()
1207 * stop percpu tasks accounting in each psi_group_cpu, in psi_cgroup_restart()
1216 * to get correct state mask from test_states() loop on tasks[], in psi_cgroup_restart()