linux/tools/include/uapi/linux/sched.h
<<
>>
Prefs
   1#ifndef _UAPI_LINUX_SCHED_H
   2#define _UAPI_LINUX_SCHED_H
   3
   4/*
   5 * cloning flags:
   6 */
   7#define CSIGNAL         0x000000ff      /* signal mask to be sent at exit */
   8#define CLONE_VM        0x00000100      /* set if VM shared between processes */
   9#define CLONE_FS        0x00000200      /* set if fs info shared between processes */
  10#define CLONE_FILES     0x00000400      /* set if open files shared between processes */
  11#define CLONE_SIGHAND   0x00000800      /* set if signal handlers and blocked signals shared */
  12#define CLONE_PTRACE    0x00002000      /* set if we want to let tracing continue on the child too */
  13#define CLONE_VFORK     0x00004000      /* set if the parent wants the child to wake it up on mm_release */
  14#define CLONE_PARENT    0x00008000      /* set if we want to have the same parent as the cloner */
  15#define CLONE_THREAD    0x00010000      /* Same thread group? */
  16#define CLONE_NEWNS     0x00020000      /* New mount namespace group */
  17#define CLONE_SYSVSEM   0x00040000      /* share system V SEM_UNDO semantics */
  18#define CLONE_SETTLS    0x00080000      /* create a new TLS for the child */
  19#define CLONE_PARENT_SETTID     0x00100000      /* set the TID in the parent */
  20#define CLONE_CHILD_CLEARTID    0x00200000      /* clear the TID in the child */
  21#define CLONE_DETACHED          0x00400000      /* Unused, ignored */
  22#define CLONE_UNTRACED          0x00800000      /* set if the tracing process can't force CLONE_PTRACE on this clone */
  23#define CLONE_CHILD_SETTID      0x01000000      /* set the TID in the child */
  24#define CLONE_NEWCGROUP         0x02000000      /* New cgroup namespace */
  25#define CLONE_NEWUTS            0x04000000      /* New utsname namespace */
  26#define CLONE_NEWIPC            0x08000000      /* New ipc namespace */
  27#define CLONE_NEWUSER           0x10000000      /* New user namespace */
  28#define CLONE_NEWPID            0x20000000      /* New pid namespace */
  29#define CLONE_NEWNET            0x40000000      /* New network namespace */
  30#define CLONE_IO                0x80000000      /* Clone io context */
  31
  32/*
  33 * Scheduling policies
  34 */
  35#define SCHED_NORMAL            0
  36#define SCHED_FIFO              1
  37#define SCHED_RR                2
  38#define SCHED_BATCH             3
  39/* SCHED_ISO: reserved but not implemented yet */
  40#define SCHED_IDLE              5
  41#define SCHED_DEADLINE          6
  42
  43/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
  44#define SCHED_RESET_ON_FORK     0x40000000
  45
  46/*
  47 * For the sched_{set,get}attr() calls
  48 */
  49#define SCHED_FLAG_RESET_ON_FORK        0x01
  50#define SCHED_FLAG_RECLAIM              0x02
  51
  52#endif /* _UAPI_LINUX_SCHED_H */
  53