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