Hi...
> I am new to Linux MM. Can someone answer my following
questions?
>
I'll try...
> 1> Where is the process page
table(mm->pgd) stored? Is it stored below
> PAGE_OFFSET ?
not true. when forking a new process, several pages include
pgd will be allocated from kernel cache in kernel space.then above
PAGE_OFFSET.
Above PAGE_OFFSET, in other word... it's inside kernel
space, just like
the task_struct descriptor.
sure
> If yes, then wouldn't there
> be a chance
of the page tables getting accidentally corrupted by the user
>
process as it is in the user address space?
>
yes these pages should not be movable(swapped out).
> 2> What
will happen if the page containing the process page table(mm->pgd)
> is swapped on the disk and the process is scheduled for execution
?
>
Since it's in kernel space, it won't be swapped out.
sure