Lines Matching defs:ecaps

901 	u64 ecaps = 0;
906 ecaps |= BIT_U64(cap_bit) | scx_caps_implied(BIT_U64(cap_bit));
907 return ecaps;
911 * queue_sync_ecaps - Queue ecaps update for a (sch, cid) pair
915 * Queue an ecaps update for @sch's @cid and kick the cpu so that it syncs in
937 /* discard @rq's queued ecaps syncs */
949 * scx_process_sync_ecaps - Sync this cpu's ecaps to pshard->caps[]
953 * pshard->caps[] is the target configuration. pcpu->ecaps is the effective
974 * ecaps are zeroed while the cpu is inactive and must stay zero.
995 u64 old, ecaps, lost, gained;
1002 old = READ_ONCE(pcpu->ecaps);
1003 ecaps = calc_effective_caps(ps, cid);
1004 WRITE_ONCE(pcpu->ecaps, ecaps);
1006 lost = old & ~ecaps;
1007 gained = ecaps & ~old;
1020 if (ecaps != pcpu->reported_ecaps &&
1029 pcpu->reported_ecaps, ecaps);
1032 pcpu->reported_ecaps = ecaps;
1051 * against the effective caps and thus must come after the ecaps sync.
1058 * scx_unbypass_replay_ecaps - Replay a bypass-suppressed ecaps notification
1078 /* root holds every cap and never uses ecaps */
1082 if (READ_ONCE(pcpu->ecaps) == pcpu->reported_ecaps)
1093 * A cpu came back. Re-seed each sub-sched's ecaps on the cpu's cid. The sync
1103 * Only a live hierarchy can have ecaps to reseed. This also keeps the
1120 /* root holds every cap and never uses ecaps */
1131 * A cpu is going down. Zero each sub-sched's in-effect ecaps so cap checks
1148 /* root holds every cap and never uses ecaps */
1152 WRITE_ONCE(per_cpu_ptr(pos->pcpu, cpu)->ecaps, 0);
1206 * scx_discard_stale_ecaps_syncs - Discard ecaps syncs from earlier schedulers
1210 * still-open link fd defers it) and can leave queued ecaps syncs behind.
2249 * its inserts would only be rejected. ecaps are synced at the top of