[Devel,RHEL7,COMMIT] kernel/pid: restore standard PID_MAX_DEFAULT value

Submitted by Konstantin Khorenko on Nov. 15, 2016, 4:20 p.m.

Details

Message ID 201611151620.uAFGKdMG028115@finist_cl7.x64_64.work.ct
State New
Series "kernel/pid: restore standard PID_MAX_DEFAULT value"
Headers show

Commit Message

Konstantin Khorenko Nov. 15, 2016, 4:20 p.m.
The commit is pushed to "branch-rh7-3.10.0-493.vz7.25.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-493.el7
------>
commit 2ef4b6a90de7794bdfc88766497a653d8e3af229
Author: Andrey Ryabinin <aryabinin@virtuozzo.com>
Date:   Tue Nov 15 20:20:39 2016 +0400

    kernel/pid: restore standard PID_MAX_DEFAULT value
    
    Use standard value of the PID_MAX_DEFAULT. If admin needs more pids
    he could bump sysctl kernel.pid_max.
    
    On RHEL7.3 we fail to allocate struct saved_cmdlines_buffer because of
    this. saved_cmdlines_buffer contains array of PID_MAX_DEFAULT unsigned ints
    so it's too big to allocate and this causes boot failure.
    Note that there is no reason to keep that array in struct and allocate dynamically.
    Instead, we could just make it static and this will fix our problem.
    
    However, in presence of sysctl kernel.pid_max, I don't see the reason in having
    non standard PID_MAX_DEFAULT.
    
    khorenko@: previous Virtuozzo 7 kernels have kernel.pid_max hardcoded to
    1048576. Now we resurrect kernel default kernel.pid_max=32768,
    and "kernel.pid_max = 1048576" is gained via entry in /etc/sysctl.conf.
    
    https://jira.sw.ru/browse/PSBM-55365
    
    Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
---
 include/linux/threads.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/include/linux/threads.h b/include/linux/threads.h
index 4532014..bf62004 100644
--- a/include/linux/threads.h
+++ b/include/linux/threads.h
@@ -24,8 +24,8 @@ 
 /*
  * This controls the default maximum pid allocated to a process
  */
-#define PID_MAX_DEFAULT 	(sizeof(long) > 4 ? 1024 * 1024 : 32 * 1024)
-#define PID_MAX_NS_DEFAULT	(32 * 1024)
+#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)
+#define PID_MAX_NS_DEFAULT	(PID_MAX_DEFAULT)
 
 /*
  * A maximum of 4 million PIDs should be enough for a while.