You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Charge [stack] at its grown extent, as Linux does #492
elfuse maps [stack] at its full fixed extent up front, and #485 counts it that way toward RLIMIT_AS. Linux counts the stack VMA only as far as it has grown.
Measured with one static probe that prints the [stack] line of /proc/self/maps and VmSize from /proc/self/status, right after exec:
[stack] in maps
VmSize
elfuse
8188 KiB
8880 kB
Linux 6.18.60
132 KiB
840 kB
So a guest whose ulimit -v was sized from a Linux run gets about 8 MiB less address space under elfuse. test-rlimit-mem cannot see the gap, because it takes its base from elfuse's own VmSize.
To match Linux, [stack] would be charged (and shown in maps) at the extent the stack has grown to, and grown on a fault below it the way Linux expands the stack VMA, with RLIMIT_STACK and RLIMIT_AS checked at that point as acct_stack_growth does.
Activity