If I understood right, the stack probes are like this: detect stack allocations that are larger than a page so that they might go past guard pages. In those occasions, do a tight loop of memory accesses with one-page intervals that would trigger the guard pages, to prevent the access going past the guard pages going unnoticed. The probes are done only on large allocations, so the costs are minimal compared to the size of the allocation.
If the stacks grows only by small increments, like on normal recursion, guard pages are going to catch it.
https://www.reddit.com/r/rust/comments/4ghy5h/blog_by_kamal_...
If I understood right, the stack probes are like this: detect stack allocations that are larger than a page so that they might go past guard pages. In those occasions, do a tight loop of memory accesses with one-page intervals that would trigger the guard pages, to prevent the access going past the guard pages going unnoticed. The probes are done only on large allocations, so the costs are minimal compared to the size of the allocation.
If the stacks grows only by small increments, like on normal recursion, guard pages are going to catch it.