ok,
I am sorry maybe I did not ask the question correctly, all I want to know is how mmap works underneath, given an address X how does kernel figure out its a mmaped page ?
-Neo
On Thu, Jul 25, 2013 at 10:04 AM, <Valdis.Kletnieks@xxxxxx> wrote:
Why would the address mapping hardware even *care* that it's an mmap'edOn Thu, 25 Jul 2013 09:14:03 -0700, kernel neophyte said:
> Could anyone please explain, how mmap works underneath ? when kernel
> traveses pgd->pud->pmd->pte how does it know that a particular page is a
> mmaped page ? is there any special flag ?
page, once the mapping is set up? For that matter, why would most of
the kernel code care?
Only time an mmap'ed page is any different than any other process page is
while the mmap is actually being set up, modified, or torn down.
(And in fact, that's part of why getting the varions sync() calls to play
nice with mmap() is so hard - because an mmap'ed file page is just a page.
So noticing that a page got modified and knowing to do stuff like update
the atime and mtime of the backing file is difficult...)
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies