| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef _LINUX_THREADS_H |
| #define _LINUX_THREADS_H |
| |
| |
| /* |
| * The default limit for the nr of threads is now in |
| * /proc/sys/kernel/threads-max. |
| */ |
| |
| /* |
| * Maximum supported processors. Setting this smaller saves quite a |
| * bit of memory. Use nr_cpu_ids instead of this except for static bitmaps. |
| */ |
| #ifndef CONFIG_NR_CPUS |
| /* FIXME: This should be fixed in the arch's Kconfig */ |
| #define CONFIG_NR_CPUS 1 |
| #endif |
| |
| /* Places which use this should consider cpumask_var_t. */ |
| #define NR_CPUS CONFIG_NR_CPUS |
| |
| #define MIN_THREADS_LEFT_FOR_ROOT 4 |
| |
| /* |
| * This controls the default maximum pid allocated to a process |
| */ |
| #define PID_MAX_DEFAULT (IS_ENABLED(CONFIG_BASE_SMALL) ? 0x1000 : 0x8000) |
| |
| /* |
| * A maximum of 4 million PIDs should be enough for a while. |
| * [NOTE: PID/TIDs are limited to 2^30 ~= 1 billion, see FUTEX_TID_MASK.] |
| */ |
| #define PID_MAX_LIMIT (IS_ENABLED(CONFIG_BASE_SMALL) ? PAGE_SIZE * 8 : \ |
| (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT)) |
| |
| /* |
| * Define a minimum number of pids per cpu. Heuristically based |
| * on original pid max of 32k for 32 cpus. Also, increase the |
| * minimum settable value for pid_max on the running system based |
| * on similar defaults. See kernel/pid.c:pid_idr_init() for details. |
| */ |
| #define PIDS_PER_CPU_DEFAULT 1024 |
| #define PIDS_PER_CPU_MIN 8 |
| |
| #endif |