root/include/linux/threads.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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^29 ~= 500+ million, see futex.h.]
  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

/* [<][>][^][v][top][bottom][index][help] */