Merge tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells...
[firefly-linux-kernel-4.4.55.git] / include / linux / sched.h
index 9c5612f0374b3b419b70066dd61599b32d6b0b9d..0dd42a02df2e851e0847df640dd559f3689c36ed 100644 (file)
@@ -1,48 +1,8 @@
 #ifndef _LINUX_SCHED_H
 #define _LINUX_SCHED_H
 
-/*
- * 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 */
-/* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state)
-   and is now available for re-use. */
-#define CLONE_NEWUTS           0x04000000      /* New utsname group? */
-#define CLONE_NEWIPC           0x08000000      /* New ipcs */
-#define CLONE_NEWUSER          0x10000000      /* New user namespace */
-#define CLONE_NEWPID           0x20000000      /* New pid namespace */
-#define CLONE_NEWNET           0x40000000      /* New network namespace */
-#define CLONE_IO               0x80000000      /* Clone io context */
+#include <uapi/linux/sched.h>
 
-/*
- * Scheduling policies
- */
-#define SCHED_NORMAL           0
-#define SCHED_FIFO             1
-#define SCHED_RR               2
-#define SCHED_BATCH            3
-/* SCHED_ISO: reserved but not implemented yet */
-#define SCHED_IDLE             5
-/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
-#define SCHED_RESET_ON_FORK     0x40000000
-
-#ifdef __KERNEL__
 
 struct sched_param {
        int sched_priority;
@@ -671,7 +631,6 @@ struct signal_struct {
        struct rw_semaphore group_rwsem;
 #endif
 
-       int oom_adj;            /* OOM kill score adjustment (bit shift) */
        int oom_score_adj;      /* OOM kill score adjustment */
        int oom_score_adj_min;  /* OOM kill score adjustment minimum value.
                                 * Only settable by CAP_SYS_RESOURCE. */
@@ -2333,6 +2292,9 @@ extern int do_execve(const char *,
                     const char __user * const __user *, struct pt_regs *);
 extern long do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *);
 struct task_struct *fork_idle(int);
+#ifdef CONFIG_GENERIC_KERNEL_THREAD
+extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
+#endif
 
 extern void set_task_comm(struct task_struct *tsk, char *from);
 extern char *get_task_comm(char *to, struct task_struct *tsk);
@@ -2826,6 +2788,4 @@ static inline unsigned long rlimit_max(unsigned int limit)
        return task_rlimit_max(current, limit);
 }
 
-#endif /* __KERNEL__ */
-
 #endif