Github user canselcik commented on the issue:
https://github.com/apache/trafficserver/pull/1050
@jpeach
I've done some further testing (including with strace) and here some
corrections and clarifications:
(1) It doesn't matter `ats_madvise` calls `posix_madvise` or `madvise`.
(2) If `posix_madvise` is called with the `MADV_DONTDUMP` flag, it
ultimately makes a syscall to `madvise` with `MADV_NORMAL`. It sanitizes the
flag to `MADV_NORMAL` if it is greater than 4 basically. In this case we see
the growth in memory maps.
(3) If `madvise` is called with the `MADV_DONTDUMP` flag, it ultimately
makes a syscall to `madvise` with `MADV_DONTDUMP`, and we see the growth in
memory maps.
So basically it looks like you can call `posix_madvise` or `madvise` with
`MADV_DONTDUMP` and this issue surfaces.
Any ideas? When we omit the call to either `posix_madvise / madvise` or
make the call but make it with `MADV_NORMAL` rather than `MADV_DONTDUMP`, we
don't see the issue.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---