Andi Kleen wrote:
Eventually even 8k stack systems might run into problems.
A generic way to solve this would be to let the block layer
who calls into the various stacking layers check how much stack is left
first and when it is too low push the work to another thread using
a workqueue.
Jens, do you think that would be feasible?
-Andi
Quick, before Adrian Bunk gets his patch to completely kill 8K stacks
into Linus's tree!
In a previous life I actually had to resort to allocating a chunk of
memory, linking it into the stack, then carrying on down the call
chain (not on linux). The memory was freed on the way up the stack
again. I am not saying that would be a viable solution, but there needs
to be something done about stack overflow and nested subsystems, before
someone tries iscsi over IPV6 or something other bizzare combo.
Steve
|