Lines Matching refs:groupc
240 struct psi_group_cpu *groupc = per_cpu_ptr(group->pcpu, cpu); in get_recent_times() local
250 seq = read_seqcount_begin(&groupc->seq); in get_recent_times()
252 memcpy(times, groupc->times, sizeof(groupc->times)); in get_recent_times()
253 state_mask = groupc->state_mask; in get_recent_times()
254 state_start = groupc->state_start; in get_recent_times()
255 } while (read_seqcount_retry(&groupc->seq, seq)); in get_recent_times()
272 delta = times[s] - groupc->times_prev[aggregator][s]; in get_recent_times()
273 groupc->times_prev[aggregator][s] = times[s]; in get_recent_times()
642 static void record_times(struct psi_group_cpu *groupc, int cpu, in record_times() argument
649 delta = now - groupc->state_start; in record_times()
650 groupc->state_start = now; in record_times()
652 if (groupc->state_mask & (1 << PSI_IO_SOME)) { in record_times()
653 groupc->times[PSI_IO_SOME] += delta; in record_times()
654 if (groupc->state_mask & (1 << PSI_IO_FULL)) in record_times()
655 groupc->times[PSI_IO_FULL] += delta; in record_times()
658 if (groupc->state_mask & (1 << PSI_MEM_SOME)) { in record_times()
659 groupc->times[PSI_MEM_SOME] += delta; in record_times()
660 if (groupc->state_mask & (1 << PSI_MEM_FULL)) in record_times()
661 groupc->times[PSI_MEM_FULL] += delta; in record_times()
677 groupc->times[PSI_MEM_FULL] += sample; in record_times()
681 if (groupc->state_mask & (1 << PSI_CPU_SOME)) in record_times()
682 groupc->times[PSI_CPU_SOME] += delta; in record_times()
684 if (groupc->state_mask & (1 << PSI_NONIDLE)) in record_times()
685 groupc->times[PSI_NONIDLE] += delta; in record_times()
692 struct psi_group_cpu *groupc; in psi_group_change() local
697 groupc = per_cpu_ptr(group->pcpu, cpu); in psi_group_change()
707 write_seqcount_begin(&groupc->seq); in psi_group_change()
709 record_times(groupc, cpu, false); in psi_group_change()
714 if (groupc->tasks[t] == 0 && !psi_bug) { in psi_group_change()
716 cpu, t, groupc->tasks[0], in psi_group_change()
717 groupc->tasks[1], groupc->tasks[2], in psi_group_change()
718 groupc->tasks[3], clear, set); in psi_group_change()
721 groupc->tasks[t]--; in psi_group_change()
726 groupc->tasks[t]++; in psi_group_change()
730 if (test_state(groupc->tasks, s)) in psi_group_change()
733 groupc->state_mask = state_mask; in psi_group_change()
735 write_seqcount_end(&groupc->seq); in psi_group_change()
860 struct psi_group_cpu *groupc; in psi_memstall_tick() local
862 groupc = per_cpu_ptr(group->pcpu, cpu); in psi_memstall_tick()
863 write_seqcount_begin(&groupc->seq); in psi_memstall_tick()
864 record_times(groupc, cpu, true); in psi_memstall_tick()
865 write_seqcount_end(&groupc->seq); in psi_memstall_tick()