This is kind of just a general question out of curiosity.
Is there a functional reason to ensure that all stack sizes are powers of 2? I've seen it throughout many examples and also it was mentioned in DevAcademy, but no reasoning was given. It seems like if a large thread needs just a little more room, doubling its size every time is a waste of memory. I've seen some people suggest it's only necessary when using an MPU to detect writes outside of the intended memory region.