Variable "current" in Linux kernel...

Phillip Lougher phillip.lougher at gmail.com
Tue Apr 17 08:52:41 EST 2007


On 4/16/07, Siva Prasad <sprasad at bivio.net> wrote:
>
> I would like to know where exactly the value of variable "current" gets
> changed.

current points to the task_struct structure of the currently running
process.  It, obviously, changes each time the scheduler schedules
another process.

>
>
> BTW… did any one tried before to run from a different location of memory
> than the usual 0x00000000? What are the main problems you faced? I know this
> is open ended question, but wanted to see if any one ever did that.
>

I changed the 2.4 PPC kernel to do this about 5 years ago (for
Zarlink).  Most of the issues relate to the PPC specific code, all
functions which map from a va->pa, from a pte->va, and vice-versa have
to be changed.  The early start up assembly code has to be aware the
kernel is not running at zero, specifically the code which creates the
initial TLB entries.  As far as I can recall, only one line of non-PPC
specific code needed to be changed.  It is, however, a difficult task
which requires careful auditing of the code, and obviously  knowledge
of the vm and memory allocator systems.

Phillip



More information about the Linuxppc-dev mailing list