Thanks for the link! Everything is clear now, the kernel will autogrow a mapping with the MAP_GROWSDOWN as long as the stack pointer is around the location the program has just accessed. So there is no magic specific to regions used as pthread stacks. If I manually set %rsp to my mmaped region and access bytes downward, it will extend just fine.
Thanks!
- a_m