Ravi <kravi26@yahoo.com> writes: > Hi, > > I am looking at the latest mm/memory.c on Bitkeeper. > The comment for remap_pte_range() says "maps a range of > physical memory into the requested pages. the old mappings > are removed". But the code has this check: > > BUG_ON(!pte_none(*pte)); > > Why is it a bug to have a valid PTE when remap_pte_range() > is called? The 2.4 version of this fucntion cleared the > old PTE using ptep_get_and_clear() and then installed > a new one. Why was this changed? It used to be a call to forget_pte, and, as Flávio Bruno Leitner pointed out, wli changed it last year: http://www.ussg.iu.edu/hypermail/linux/kernel/0206.0/0053.html ... making forget_pte into a macro, which has since been completely inlined. The comment that used to be above the macro was this: bug check to be sure pte's are unmapped when no longer used -- --Ed L Cashin PGP public key: http://noserose.net/e/pgp/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/