I am porting my own in-house RTOS kernel that uses task scheduling based on stacking.
It has been working great for years on the old ARM7 machines
The whole story develops around the fact I can execute the stack from within itself with the currently pending tasks. I take care myself about the stack overflow but I simply need the ability to re-enable the same interrupt and let it be served while I am still in it.