1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright 2023 Advanced Micro Devices, Inc. 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 5*61046927SAndroid Build Coastguard Worker */ 6*61046927SAndroid Build Coastguard Worker 7*61046927SAndroid Build Coastguard Worker #ifndef CPU_SCHED_H 8*61046927SAndroid Build Coastguard Worker #define CPU_SCHED_H 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker #include "compiler.h" 11*61046927SAndroid Build Coastguard Worker #include "u_thread.h" 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard Worker enum util_thread_name 14*61046927SAndroid Build Coastguard Worker { 15*61046927SAndroid Build Coastguard Worker UTIL_THREAD_APP_CALLER, 16*61046927SAndroid Build Coastguard Worker UTIL_THREAD_GLTHREAD, 17*61046927SAndroid Build Coastguard Worker UTIL_THREAD_THREADED_CONTEXT, 18*61046927SAndroid Build Coastguard Worker UTIL_THREAD_DRIVER_SUBMIT, 19*61046927SAndroid Build Coastguard Worker }; 20*61046927SAndroid Build Coastguard Worker 21*61046927SAndroid Build Coastguard Worker bool 22*61046927SAndroid Build Coastguard Worker util_thread_scheduler_enabled(void); 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker void 25*61046927SAndroid Build Coastguard Worker util_thread_scheduler_init_state(unsigned *state); 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker bool 28*61046927SAndroid Build Coastguard Worker util_thread_sched_apply_policy(thrd_t thread, enum util_thread_name name, 29*61046927SAndroid Build Coastguard Worker unsigned app_thread_cpu, unsigned *sched_state); 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Worker #endif 32