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:pid_idr_init() for details. |
42 | */ |
43 | #define PIDS_PER_CPU_DEFAULT 1024 |
44 | #define PIDS_PER_CPU_MIN 8 |
45 | |
46 | #endif |
47 | |