|Jeroen Demeyer on Mon, 03 Oct 2016 22:10:28 +0200|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|Re: Use PROT_NONE for unused virtual stack memory|
On 2016-10-03 20:21, Bill Allombert wrote:
No. As far as I know, this is undocumented.This is problematic... I wrote this code following the POSIX standard. The code is not meant to be linux specific.
As far as I know, POSIX does not define things like overcommitting memory, so it couldn't be in the POSIX standard. But as you say, the new code is still POSIX-compliant.
Did you try madvise(, MADV_DONTNEED) ?
Yes and it did not help. I also tried it in combination with mprotect(..., PROT_NONE) and it still did not behave the same as remapping with PROT_NONE.
But your patch remove MAP_NORESERVE. Why ?
Because it is no longer needed: with my patch, all memory on the PARI stack is either really used (the actual PARI stack) or not committed (the virtual stack between vbot and bot, mapped with PROT_NONE). In both of these cases, the MAP_NORESERVE flag makes no difference.