Lines Matching refs:groupc

249 	struct psi_group_cpu *groupc = per_cpu_ptr(group->pcpu, cpu);  in get_recent_times()  local
261 seq = read_seqcount_begin(&groupc->seq); in get_recent_times()
263 memcpy(times, groupc->times, sizeof(groupc->times)); in get_recent_times()
264 state_mask = groupc->state_mask; in get_recent_times()
265 state_start = groupc->state_start; in get_recent_times()
267 memcpy(tasks, groupc->tasks, sizeof(groupc->tasks)); in get_recent_times()
268 } while (read_seqcount_retry(&groupc->seq, seq)); in get_recent_times()
285 delta = times[s] - groupc->times_prev[aggregator][s]; in get_recent_times()
286 groupc->times_prev[aggregator][s] = times[s]; in get_recent_times()
749 static void record_times(struct psi_group_cpu *groupc, u64 now) in record_times() argument
753 delta = now - groupc->state_start; in record_times()
754 groupc->state_start = now; in record_times()
756 if (groupc->state_mask & (1 << PSI_IO_SOME)) { in record_times()
757 groupc->times[PSI_IO_SOME] += delta; in record_times()
758 if (groupc->state_mask & (1 << PSI_IO_FULL)) in record_times()
759 groupc->times[PSI_IO_FULL] += delta; in record_times()
762 if (groupc->state_mask & (1 << PSI_MEM_SOME)) { in record_times()
763 groupc->times[PSI_MEM_SOME] += delta; in record_times()
764 if (groupc->state_mask & (1 << PSI_MEM_FULL)) in record_times()
765 groupc->times[PSI_MEM_FULL] += delta; in record_times()
768 if (groupc->state_mask & (1 << PSI_CPU_SOME)) { in record_times()
769 groupc->times[PSI_CPU_SOME] += delta; in record_times()
770 if (groupc->state_mask & (1 << PSI_CPU_FULL)) in record_times()
771 groupc->times[PSI_CPU_FULL] += delta; in record_times()
774 if (groupc->state_mask & (1 << PSI_NONIDLE)) in record_times()
775 groupc->times[PSI_NONIDLE] += delta; in record_times()
782 struct psi_group_cpu *groupc; in psi_group_change() local
787 groupc = per_cpu_ptr(group->pcpu, cpu); in psi_group_change()
798 write_seqcount_begin(&groupc->seq); in psi_group_change()
813 state_mask = groupc->state_mask & PSI_ONCPU; in psi_group_change()
823 if (groupc->tasks[t]) { in psi_group_change()
824 groupc->tasks[t]--; in psi_group_change()
827 cpu, t, groupc->tasks[0], in psi_group_change()
828 groupc->tasks[1], groupc->tasks[2], in psi_group_change()
829 groupc->tasks[3], clear, set); in psi_group_change()
836 groupc->tasks[t]++; in psi_group_change()
846 if (unlikely(groupc->state_mask & (1 << PSI_NONIDLE))) in psi_group_change()
847 record_times(groupc, now); in psi_group_change()
849 groupc->state_mask = state_mask; in psi_group_change()
851 write_seqcount_end(&groupc->seq); in psi_group_change()
856 if (test_state(groupc->tasks, s, state_mask & PSI_ONCPU)) in psi_group_change()
871 record_times(groupc, now); in psi_group_change()
873 groupc->state_mask = state_mask; in psi_group_change()
875 write_seqcount_end(&groupc->seq); in psi_group_change()
1009 struct psi_group_cpu *groupc; in psi_account_irqtime() local
1022 groupc = per_cpu_ptr(group->pcpu, cpu); in psi_account_irqtime()
1024 write_seqcount_begin(&groupc->seq); in psi_account_irqtime()
1026 record_times(groupc, now); in psi_account_irqtime()
1027 groupc->times[PSI_IRQ_FULL] += delta; in psi_account_irqtime()
1029 write_seqcount_end(&groupc->seq); in psi_account_irqtime()