[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kernel_stack_page
On Fri, 5 Jan 2001, Sourav Sen wrote:
> Or is it something in task_struct itself that is tracking the
> per process kernel stack, if yes, whats that??
You're getting close...
On 2.2 and 2.4, the task_struct and the kernel stack of each
process share the same 2 pages of memory.
8kB ----------------------
kernel stack
(grows down)
|
V
....
<- stack pointer at random address
800B end of task_struct == stack limit
...
...
...
0kB start of task_struct
Because this area is always 8kB aligned and physically
contiguous (automatically contiguous in kernel VM space)
all you need to do is look at the stack pointer and go
down to the nearest 8kB boundary to get the start of the
current task_struct.
regards,
Rik
--
Virtual memory is like a game you can't win;
However, without VM there's truly nothing to loose...
http://www.surriel.com/
http://www.conectiva.com/ http://distro.conectiva.com.br/
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/
IRC Channel: irc.openprojects.net / #kernelnewbies
Web Page: http://www.surriel.com/kernelnewbies.shtml