| 1 | #ifndef _LINUX_THREADS_H |
| 2 | #define _LINUX_THREADS_H |
| 3 | |
| 4 | |
| 5 | /* |
| 6 | * The default limit for the nr of threads is now in |
| 7 | * /proc/sys/kernel/threads-max. |
| 8 | */ |
| 9 | |
| 10 | /* |
| 11 | * Maximum supported processors. Setting this smaller saves quite a |
| 12 | * bit of memory. Use nr_cpu_ids instead of this except for static bitmaps. |
| 13 | */ |
| 14 | #ifndef CONFIG_NR_CPUS |
| 15 | /* FIXME: This should be fixed in the arch's Kconfig */ |
| 16 | #define CONFIG_NR_CPUS 1 |
| 17 | #endif |
| 18 | |
| 19 | /* Places which use this should consider cpumask_var_t. */ |
| 20 | #define NR_CPUS CONFIG_NR_CPUS |
| 21 | |
| 22 | #define MIN_THREADS_LEFT_FOR_ROOT 4 |
| 23 | |
| 24 | /* |
| 25 | * This controls the default maximum pid allocated to a process |
| 26 | */ |
| 27 | #define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000) |
| 28 | |
| 29 | /* |
| 30 | * A maximum of 4 million PIDs should be enough for a while. |
| 31 | * [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.] |
| 32 | */ |
| 33 | #define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \ |
| 34 | (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT)) |
| 35 | |
| 36 | /* |
| 37 | * Define a minimum number of pids per cpu. Heuristically based |
| 38 | * on original pid max of 32k for 32 cpus. Also, increase the |
| 39 | * minimum settable value for pid_max on the running system based |
| 40 | * on similar defaults. See kernel/pid.c:pidmap_init() for details. |
| 41 | */ |
| 42 | #define PIDS_PER_CPU_DEFAULT 1024 |
| 43 | #define PIDS_PER_CPU_MIN 8 |
| 44 | |
| 45 | #endif |