Hi, Looking at init_mm initialization in 2.4 I am wondering why is the INIT_MM like the way it is: #define INIT_MM(name) \ { \ mm_rb: RB_ROOT, \ pgd: swapper_pg_dir, \ mm_users: ATOMIC_INIT(2), \ mm_count: ATOMIC_INIT(1), \ mmap_sem: __RWSEM_INITIALIZER(name.mmap_sem), \ page_table_lock: SPIN_LOCK_UNLOCKED, \ mmlist: LIST_HEAD_INIT(name.mmlist), \ } it is only called as struct mm_struct init_mm = INIT_MM(init_mm); so whats the reason of having name.mmap_sem and name. mmlist in INIT_MM, is it to force some kind of default initialization or so? Thanks in advance. ______________________________________________________________________ Post your free ad now! http://personals.yahoo.ca -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/