threads.h 1.2 KB

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