|
@@ -1,7 +1,44 @@
|
|
#ifndef _LINUX_SCHED_H
|
|
#ifndef _LINUX_SCHED_H
|
|
#define _LINUX_SCHED_H
|
|
#define _LINUX_SCHED_H
|
|
|
|
|
|
|
|
+#include <linux/auxvec.h> /* For AT_VECTOR_SIZE */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * cloning flags:
|
|
|
|
+ */
|
|
|
|
+#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
|
|
|
|
+#define CLONE_VM 0x00000100 /* set if VM shared between processes */
|
|
|
|
+#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
|
|
|
|
+#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
|
|
|
|
+#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
|
|
|
|
+#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
|
|
|
|
+#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
|
|
|
|
+#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
|
|
|
|
+#define CLONE_THREAD 0x00010000 /* Same thread group? */
|
|
|
|
+#define CLONE_NEWNS 0x00020000 /* New namespace group? */
|
|
|
|
+#define CLONE_SYSVSEM 0x00040000 /* share system V SEM_UNDO semantics */
|
|
|
|
+#define CLONE_SETTLS 0x00080000 /* create a new TLS for the child */
|
|
|
|
+#define CLONE_PARENT_SETTID 0x00100000 /* set the TID in the parent */
|
|
|
|
+#define CLONE_CHILD_CLEARTID 0x00200000 /* clear the TID in the child */
|
|
|
|
+#define CLONE_DETACHED 0x00400000 /* Unused, ignored */
|
|
|
|
+#define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */
|
|
|
|
+#define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */
|
|
|
|
+#define CLONE_STOPPED 0x02000000 /* Start in stopped state */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * Scheduling policies
|
|
|
|
+ */
|
|
|
|
+#define SCHED_NORMAL 0
|
|
|
|
+#define SCHED_FIFO 1
|
|
|
|
+#define SCHED_RR 2
|
|
|
|
+#define SCHED_BATCH 3
|
|
|
|
+
|
|
#ifdef __KERNEL__
|
|
#ifdef __KERNEL__
|
|
|
|
+
|
|
|
|
+struct sched_param {
|
|
|
|
+ int sched_priority;
|
|
|
|
+};
|
|
|
|
+
|
|
#include <asm/param.h> /* for HZ */
|
|
#include <asm/param.h> /* for HZ */
|
|
|
|
|
|
#include <linux/capability.h>
|
|
#include <linux/capability.h>
|
|
@@ -44,34 +81,9 @@
|
|
#include <linux/hrtimer.h>
|
|
#include <linux/hrtimer.h>
|
|
|
|
|
|
#include <asm/processor.h>
|
|
#include <asm/processor.h>
|
|
-#endif
|
|
|
|
-
|
|
|
|
-#include <linux/auxvec.h> /* For AT_VECTOR_SIZE */
|
|
|
|
|
|
|
|
struct exec_domain;
|
|
struct exec_domain;
|
|
|
|
|
|
-/*
|
|
|
|
- * cloning flags:
|
|
|
|
- */
|
|
|
|
-#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
|
|
|
|
-#define CLONE_VM 0x00000100 /* set if VM shared between processes */
|
|
|
|
-#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
|
|
|
|
-#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
|
|
|
|
-#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
|
|
|
|
-#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
|
|
|
|
-#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
|
|
|
|
-#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
|
|
|
|
-#define CLONE_THREAD 0x00010000 /* Same thread group? */
|
|
|
|
-#define CLONE_NEWNS 0x00020000 /* New namespace group? */
|
|
|
|
-#define CLONE_SYSVSEM 0x00040000 /* share system V SEM_UNDO semantics */
|
|
|
|
-#define CLONE_SETTLS 0x00080000 /* create a new TLS for the child */
|
|
|
|
-#define CLONE_PARENT_SETTID 0x00100000 /* set the TID in the parent */
|
|
|
|
-#define CLONE_CHILD_CLEARTID 0x00200000 /* clear the TID in the child */
|
|
|
|
-#define CLONE_DETACHED 0x00400000 /* Unused, ignored */
|
|
|
|
-#define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */
|
|
|
|
-#define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */
|
|
|
|
-#define CLONE_STOPPED 0x02000000 /* Start in stopped state */
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* List of flags we want to share for kernel threads,
|
|
* List of flags we want to share for kernel threads,
|
|
* if only because they are not used by them anyway.
|
|
* if only because they are not used by them anyway.
|
|
@@ -158,20 +170,6 @@ extern unsigned long nr_iowait(void);
|
|
/* Task command name length */
|
|
/* Task command name length */
|
|
#define TASK_COMM_LEN 16
|
|
#define TASK_COMM_LEN 16
|
|
|
|
|
|
-/*
|
|
|
|
- * Scheduling policies
|
|
|
|
- */
|
|
|
|
-#define SCHED_NORMAL 0
|
|
|
|
-#define SCHED_FIFO 1
|
|
|
|
-#define SCHED_RR 2
|
|
|
|
-#define SCHED_BATCH 3
|
|
|
|
-
|
|
|
|
-struct sched_param {
|
|
|
|
- int sched_priority;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#ifdef __KERNEL__
|
|
|
|
-
|
|
|
|
#include <linux/spinlock.h>
|
|
#include <linux/spinlock.h>
|
|
|
|
|
|
/*
|
|
/*
|