Messages in this thread | | | Date | Thu, 20 Feb 2003 12:51:13 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: doublefault debugging (was Re: Linux v2.5.62 --- spontaneous reboots) |
| |
On Thu, 20 Feb 2003, William Lee Irwin III wrote: > > You might want to grab aeb's fully non-recursive pathwalking if > you really want to cut back the stack to 4KB, as well as fixing > whatever stackblasting drivers are about.
The path walking should really not be an issue. Each level of a symlink takes something like 64 bytes of stack on x86 (I checked it some time ago, maybe it's changed a bit), since the actual recursive part is very shallow indeed.
And since we don't recurse deeper than 5 levels anyway, the symlink recursion ends up not being a real problem compared to a lot of other code (never mind the single functions with hundreds of bytes of stack space: just regular function calls 5 levels deep is quite normal).
That fs recursion was not the problem even back in the days when the max stack depth was <3kB (4kB allocation, 1kB task_struct). It used to be 8 levels deep or something, it was changed to 5 not because we ran out on x86, but because of those stupid sparc register windows (causing much bigger minimum function stack requirements than on x86).
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |