On 2023/12/21 12:49, Matthew Wilcox wrote:
On Thu, Dec 21, 2023 at 08:58:42AM +0800, Yin Fengwei wrote:
Yes. MAP_STACK is also mentioned in manpage of mmap. I did test to
filter out of the MAP_STACK mapping based on this patch. The regression
in stress-ng.pthread was gone. I suppose this is kind of safe because
the madvise call is only applied to glibc allocated stack.
But what I am not sure was whether it's worthy to do such kind of change
as the regression only is seen obviously in micro-benchmark. No evidence
showed the other regressionsin this report is related with madvise. At
least from the perf statstics. Need to check more on stream/ramspeed.
FWIW, we had a customer report a significant performance problem when
inadvertently using 2MB pages for stacks. They were able to avoid it by
using 2044KiB sized stacks ...
Looks like related with this regression. So we may need to consider
avoiding THP for stack.
Regards
Yin, Fengwei