冰河Hi all, here is its definition in asm-i386 #define pmd_offset(dir, address) ((pmd_t *) pgd_page(*(dir)) + pmd_index(address)) and here are the some other relative macros: #define pgd_page(pgd) ((unsigned long) __va(pgd_val(pgd) & PAGE_MASK)) #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) I think it is OBVIOUSLY virtual address but Mel Gorman ( http://kerneltrap.org/node/3790 ) seems to tell me that is a physical address (chapter 3. page 34), I am confused with this issue, any one make me a clear point of it please ? thx a lot, everyone! Tsai -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/