blob: 3086dba525e202e30b0060943102633f308d4146 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#ifndef _LINUX_THREADS_H
3#define _LINUX_THREADS_H
4
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
6/*
7 * The default limit for the nr of threads is now in
8 * /proc/sys/kernel/threads-max.
9 */
10
11/*
Rusty Russell278d1ed2008-12-30 09:05:12 +103012 * Maximum supported processors. Setting this smaller saves quite a
13 * bit of memory. Use nr_cpu_ids instead of this except for static bitmaps.
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 */
Rusty Russell278d1ed2008-12-30 09:05:12 +103015#ifndef CONFIG_NR_CPUS
16/* FIXME: This should be fixed in the arch's Kconfig */
17#define CONFIG_NR_CPUS 1
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#endif
19
Rusty Russell278d1ed2008-12-30 09:05:12 +103020/* Places which use this should consider cpumask_var_t. */
21#define NR_CPUS CONFIG_NR_CPUS
22
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#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/*
Ingo Molnar0771dfe2006-03-27 01:16:22 -080031 * A maximum of 4 million PIDs should be enough for a while.
32 * [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.]
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 */
34#define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \
35 (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))
36
Hedi Berriche72680a12010-05-26 14:44:06 -070037/*
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070046#endif