18 #ifndef _COBALT_POSIX_SCHED_H 19 #define _COBALT_POSIX_SCHED_H 21 #include <linux/list.h> 22 #include <cobalt/kernel/sched.h> 23 #include <xenomai/posix/syscall.h> 25 struct cobalt_resources;
26 struct cobalt_process;
28 struct cobalt_sched_group {
29 #ifdef CONFIG_XENO_OPT_SCHED_QUOTA 30 struct xnsched_quota_group quota;
32 struct cobalt_resources *scope;
34 struct list_head next;
37 int __cobalt_sched_weightprio(
int policy,
38 const struct sched_param_ex *param_ex);
40 int __cobalt_sched_setconfig_np(
int cpu,
int policy,
41 void __user *u_config,
43 union sched_config *(*fetch_config)
44 (
int policy,
const void __user *u_config,
46 int (*ack_config)(
int policy,
47 const union sched_config *config,
48 void __user *u_config));
50 ssize_t __cobalt_sched_getconfig_np(
int cpu,
int policy,
51 void __user *u_config,
53 union sched_config *(*fetch_config)
54 (
int policy,
const void __user *u_config,
56 ssize_t (*put_config)(
int policy,
57 void __user *u_config,
size_t u_len,
58 const union sched_config *config,
60 int cobalt_sched_setscheduler_ex(pid_t pid,
62 const struct sched_param_ex *param_ex,
63 __u32 __user *u_winoff,
64 int __user *u_promoted);
66 int cobalt_sched_getscheduler_ex(pid_t pid,
68 struct sched_param_ex *param_ex);
70 struct xnsched_class *
71 cobalt_sched_policy_param(
union xnsched_policy_param *param,
72 int u_policy,
const struct sched_param_ex *param_ex,
77 COBALT_SYSCALL_DECL(sched_weightprio,
78 (
int policy,
const struct sched_param_ex __user *u_param));
80 COBALT_SYSCALL_DECL(sched_minprio, (
int policy));
82 COBALT_SYSCALL_DECL(sched_maxprio, (
int policy));
87 union sched_config __user *u_config,
92 union sched_config __user *u_config,
98 const struct sched_param_ex __user *u_param,
99 __u32 __user *u_winoff,
100 int __user *u_promoted));
104 int __user *u_policy,
105 struct sched_param_ex __user *u_param));
107 void cobalt_sched_reclaim(
struct cobalt_process *process);
ssize_t sched_getconfig_np(int cpu, int policy, union sched_config *config, size_t *len_r)
Retrieve CPU-specific scheduler settings for a policy
Definition: sched.c:630
int sched_yield(void)
Yield the processor.
Definition: sched.c:58
int sched_setscheduler_ex(pid_t pid, int policy, const struct sched_param_ex *param_ex)
Set extended scheduling policy of a process
Definition: sched.c:294
int sched_getscheduler_ex(pid_t pid, int *policy_r, struct sched_param_ex *param_ex)
Get extended scheduling policy of a process
Definition: sched.c:411
int sched_setconfig_np(int cpu, int policy, const union sched_config *config, size_t len)
Set CPU-specific scheduler settings for a policy
Definition: sched.c:572