Re: [PATCHv4 2/5] x86/mm: introduce mmap{,_legacy}_base

From: Dmitry Safonov
Date: Mon Feb 13 2017 - 09:41:22 EST


On 02/11/2017 05:13 PM, Thomas Gleixner wrote:
-static unsigned long mmap_base(unsigned long rnd)
+static unsigned long mmap_base(unsigned long rnd, unsigned long task_size)
{
unsigned long gap = rlimit(RLIMIT_STACK);
unsigned long gap_min, gap_max;

/* Add comment what this means */
gap_min = SIZE_128M + stack_maxrandom_size(task_size);
/* Explain that ' /6 * 5' magic */
gap_max = (task_size / 6) * 5;

So, I can't find about those limits on a gap size:
They were introduced by commit 8913d55b6c58 ("i386 virtual memory
layout rework").
All I could find is that 128Mb limit was more limit on virtual adress
space than on a memory available those days.
And 5/6 of task_size looks like heuristic value.
So I'm not sure, what to write in comments:
that rlimit on stack can't be bigger than 5/6 of task_size?
That looks obvious from the code.


--
Dmitry