I have a doubt about the address_space struct.
I understand that struct address_space contains lists of the virtual memory area instances that refers to the inode controlled by this address_space.
Up to kernel 2.6.6, it was clear to me from the struct declaration that there were two lists, i_mmap was the list of private (created with MAP_PRIVATE) mappings and i_mmap_shared the list of shared (created with MAP_SHARED).
On kernel 2.6.7, however, I couldn't undestand the lists:
struct prio_tree_root i_mmap; /* tree of private mappings */
struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */
i_mmap seems to be still listing private mappings, but i_mmap_shared was removed and i_mmap_nonlinear added.
If I create a shared linear mapping, will it be kept in any of these lists?
Or maybe the i_mmap comment is misleading, and now i_mmap maps linear vmas?
TIA, Luciano Stertz
-- Luciano A. Stertz luciano@xxxxxxxxxxxx T&T Engenheiros Associados Ltda http://www.tteng.com.br Fone/Fax (51) 3224 8425
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/