Stack Usage Checking
This paper discusses the new mechanisms for stack checking that are much more reliable at detecting stack overflow and also allow determining stack usage. Each task's stack usage is stored in its TCB, allowing for easy inspection in the debugger. Those using smxAware are able to display a simple bar graph of stack usages as a percentage of stack size. This paper also discusses delayed release of stacks, which is a necessary change to avoid slowing down task scheduling with stack checking operations at the time of a task switch.