]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Previously, vm_radix_remove() would panic if the radix trie didn't
authoralc <alc@FreeBSD.org>
Thu, 8 Dec 2016 04:29:29 +0000 (04:29 +0000)
committeralc <alc@FreeBSD.org>
Thu, 8 Dec 2016 04:29:29 +0000 (04:29 +0000)
commit7571ef95c158150722cc67d8220e25f5a6fef65d
treef966d72e838f7cb3633ec29dff8609f7a808da13
parent0ec6d3190b8c2d134826b02745b4ab951a5ababd
Previously, vm_radix_remove() would panic if the radix trie didn't
contain a vm_page_t at the specified index.  However, with this
change, vm_radix_remove() no longer panics.  Instead, it returns NULL
if there is no vm_page_t at the specified index.  Otherwise, it
returns the vm_page_t.  The motivation for this change is that it
simplifies the use of radix tries in the amd64, arm64, and i386 pmap
implementations.  Instead of performing a lookup before every remove,
the pmap can simply perform the remove.

Reviewed by: kib, markj
Differential Revision: https://reviews.freebsd.org/D8708
sys/amd64/amd64/pmap.c
sys/arm64/arm64/pmap.c
sys/i386/i386/pmap.c
sys/vm/vm_page.c
sys/vm/vm_radix.c
sys/vm/vm_radix.h