On Thu, 24 Apr 2008 11:41:30 -0400, "Chris Mason" <chris.mason@oracle.com> said:Hi, (Rookie warning goes here.) To me, growing the stack at more or less random places in the kernel seems to be quite a complicated thing to do and it will be quite a maintainance burden to find the right spots to insert stack usage checks. So I'ld say: lose the dynamic aspect. How about unconditionally switching stacks at some defined points within the core code of the kernel, just before calling into any driver code, for example? The 4k-option has separate irq stacks already, why not have driver stacks too? I think the most important consideration to keep the stack size small was that non-order-0 allocations are unreliable under/after memory pressure due to fragmentation and that this allocation has to be done for each thread. It is therefore preferable not to do any higher-order allocations at all, unless there is a fall-back mechanism if the allocation fails. For higher-order stacks there isn't such a fallback... Can the system get by (without deadlocks at least in practice) with a limited number of preallocated but 'large' stacks (in addition to a small per-thread stack)? It was discussed that stack space is needed for any sleeping process. Could it be arranged that this waiting happens on the smallish stack, at least for the most common cases, while non-waiting activity can use the big stacks? Greetings, Alexander -- Alexander van Heukelum heukelum@fastmail.fm -- http://www.fastmail.fm - A fast, anti-spam email service. --
| Jan Engelhardt | intel iommu (Re: -mm merge plans for 2.6.23) |
| Justin C. Sherrill | Re: dragonflybsd.org website link? |
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Patrick McHardy | [NET_SCHED 01/15]: sch_atm: fix format string warning |
