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_kqueues;
27 struct cobalt_sched_group {
28 #ifdef CONFIG_XENO_OPT_SCHED_QUOTA
29 struct xnsched_quota_group quota;
31 struct cobalt_kqueues *kq;
33 struct list_head next;
36 int __cobalt_sched_weightprio(
int policy,
37 const struct sched_param_ex *param_ex);
39 int __cobalt_sched_setconfig_np(
int cpu,
int policy,
40 void __user *u_config,
42 union sched_config *(*fetch_config)
43 (
int policy,
const void __user *u_config,
45 int (*ack_config)(
int policy,
46 const union sched_config *config,
47 void __user *u_config));
49 ssize_t __cobalt_sched_getconfig_np(
int cpu,
int policy,
50 void __user *u_config,
52 union sched_config *(*fetch_config)
53 (
int policy,
const void __user *u_config,
55 ssize_t (*put_config)(
int policy,
56 void __user *u_config,
size_t u_len,
57 const union sched_config *config,
59 struct xnsched_class *
60 cobalt_sched_policy_param(
union xnsched_policy_param *param,
61 int u_policy,
const struct sched_param_ex *param_ex,
66 COBALT_SYSCALL_DECL(sched_weightprio,
67 (
int policy,
const struct sched_param_ex __user *u_param));
69 COBALT_SYSCALL_DECL(sched_minprio, (
int policy));
71 COBALT_SYSCALL_DECL(sched_maxprio, (
int policy));
76 union sched_config __user *u_config,
81 union sched_config __user *u_config,
84 void cobalt_sched_cleanup(
struct cobalt_kqueues *q);
86 void cobalt_sched_pkg_init(
void);
88 void cobalt_sched_pkg_cleanup(
void);
int sched_yield(void)
Yield the processor.
Definition: thread.c:772
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: thread.c:1075
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: thread.c:1020