1 // Copyright (c) 2024 Apple Inc. All rights reserved. 2 3 #pragma once 4 5 #include "sched_harness_impl.h" 6 #include "sched_clutch_harness.h" 7 /* To get sched_clutch_edge and cluster_shared_rsrc_type_t */ 8 #include <kern/kern_types.h> 9 /* To get PSET_ID_INVALID */ 10 #include <kern/sched_common.h> 11 12 extern void edge_set_thread_shared_rsrc(test_thread_t thread, bool native_first); 13 14 #pragma mark - Realtime 15 16 extern void sched_rt_config_set(uint8_t src, uint8_t dst, sched_clutch_edge edge); 17 extern sched_clutch_edge sched_rt_config_get(uint8_t src, uint8_t dst); 18 extern uint64_t rt_deadline_add(uint64_t d, uint64_t e); 19 extern void rt_pset_recompute_spill_order(int src_pset_id); 20 extern int rt_pset_spill_search_order_at_offset(int src_pset_id, int offset); 21 extern void sched_rt_spill_policy_set(unsigned policy); 22 extern void sched_rt_steal_policy_set(unsigned policy); 23