why does the function page_to_nid always return zero?

From: Hua Feijun
Date: Wed Nov 30 2005 - 02:36:27 EST


Hi everybody:
Tthe following code deoes not work under linux/em64t, and the function
page_to_nid always return zero.Who can tell me the answer to the
problem?
Any advice will be appreciated sincerely.Thanks!!!

pgd = pgd_offset(mm, vaddr);
if (pgd == NULL) {
return -1;
}
pmd = pmd_offset(pgd, vaddr);
if (pmd == NULL) {
return -2;
}
pte = pte_offset_map(pmd, vaddr);
PDEBUG("pte=%ul\n", pte->pte);
if (pte == NULL) {
return -3;
}
return page_to_nid (page);
if (pte_present(*pte) == NULL) {
return -4;
}
page = pte_page(*pte);
pte_unmap(pte);

return page_to_nid(page);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/