xref: /xnu-12377.1.9/tests/sched/sched_test_harness/sched_edge_harness.h (revision f6217f891ac0bb64f3d375211650a4c1ff8ca1ea)
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