User-space scheduling for system processes
This commit is contained in:
+12
-1
@@ -656,6 +656,14 @@
|
||||
/* Subfunctions for SYS_STATECTL */
|
||||
#define SYS_STATE_CLEAR_IPC_REFS 1 /* clear IPC references */
|
||||
|
||||
/* Subfunctions for SYS_SCHEDCTL */
|
||||
#define SCHEDCTL_FLAGS m1_i1 /* flags for setting the scheduler */
|
||||
# define SCHEDCTL_FLAG_KERNEL 1 /* mark kernel scheduler and remove
|
||||
* RTS_NO_QUANTUM; otherwise caller is
|
||||
* marked scheduler
|
||||
*/
|
||||
#define SCHEDCTL_ENDPOINT m1_i2 /* endpt of process to be scheduled */
|
||||
|
||||
/*===========================================================================*
|
||||
* Messages for the Reincarnation Server *
|
||||
*===========================================================================*/
|
||||
@@ -1104,12 +1112,15 @@
|
||||
#define SCHEDULING_START (SCHEDULING_BASE+2)
|
||||
# define SCHEDULING_SCHEDULER m9_l1 /* Overrides _ENDPOINT on return*/
|
||||
# define SCHEDULING_PARENT m9_l3
|
||||
# define SCHEDULING_NICE m9_l4
|
||||
# define SCHEDULING_MAXPRIO m9_l4
|
||||
|
||||
#define SCHEDULING_STOP (SCHEDULING_BASE+3)
|
||||
|
||||
#define SCHEDULING_SET_NICE (SCHEDULING_BASE+4)
|
||||
|
||||
/* SCHEDULING_INHERIT is like SCHEDULING_START, but without _QUANTUM field */
|
||||
#define SCHEDULING_INHERIT (SCHEDULING_BASE+5)
|
||||
|
||||
#endif
|
||||
|
||||
/* _MINIX_COM_H */
|
||||
|
||||
+3
-1
@@ -41,7 +41,9 @@ struct rs_start
|
||||
char *rss_cmd;
|
||||
size_t rss_cmdlen;
|
||||
uid_t rss_uid;
|
||||
int rss_nice;
|
||||
endpoint_t rss_scheduler;
|
||||
unsigned rss_priority;
|
||||
unsigned rss_quantum;
|
||||
int rss_major;
|
||||
int rss_dev_style;
|
||||
long rss_period;
|
||||
|
||||
@@ -45,7 +45,7 @@ _PROTOTYPE( int sys_exit, (void));
|
||||
_PROTOTYPE( int sys_trace, (int req, endpoint_t proc_ep, long addr, long *data_p));
|
||||
|
||||
_PROTOTYPE( int sys_schedule, (endpoint_t proc_ep, unsigned priority, unsigned quantum));
|
||||
_PROTOTYPE( int sys_schedctl, (endpoint_t proc_ep));
|
||||
_PROTOTYPE( int sys_schedctl, (unsigned flags, endpoint_t proc_ep));
|
||||
|
||||
/* Shorthands for sys_runctl() system call. */
|
||||
#define sys_stop(proc_ep) sys_runctl(proc_ep, RC_STOP, 0)
|
||||
|
||||
Reference in New Issue
Block a user