Re: top stack (l)users for 2.5.69

Roland Dreier
2003-05-07T18:00:25Z

Richard> The kernel stack, at least for ix86, is only one, set
Richard> upon startup at 8192 bytes above a label called
Richard> init_task_unit. The kernel must have a separate stack
Richard> and, contrary to what I've been reading on this list, it
Richard> can't have more kernel stacks than CPUs and, I don't see
Richard> a separate stack allocated for different CPUs.

This is total nonsense. Please don't confuse matters by spreading
misinformation like this. Every task has a separate (8K) kernel
stack. Look at the implementation of do_fork() and in particular
alloc_task_struct().

If there were only one kernel stack, what do you think would happen if
a process went to sleep in kernel code?

- Roland