git: 626ec04c2b84 - main - vm_reserv: clarify reserv_from_object
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Mar 2025 03:21:27 UTC
The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=626ec04c2b84f646c8b96e0fd1b4aac95d8035ce commit 626ec04c2b84f646c8b96e0fd1b4aac95d8035ce Author: Doug Moore <dougm@FreeBSD.org> AuthorDate: 2025-03-24 03:19:57 +0000 Commit: Doug Moore <dougm@FreeBSD.org> CommitDate: 2025-03-24 03:19:57 +0000 vm_reserv: clarify reserv_from_object vm_reserv_from_page returns an existing reservation, or initializes a successor pointer, or both. If it returns an existing reservation, callers will ignore the successor pointer, initialized or not, so initializing it serves no purpose. So, don't initialize it in that case, and make less ambiguous the comment that describes the function's behavior. Reviewed by: markj, kib, alc Differential Revision: https://reviews.freebsd.org/D49415 --- sys/vm/vm_reserv.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c index 1102cb61323a..3dc278851cc9 100644 --- a/sys/vm/vm_reserv.c +++ b/sys/vm/vm_reserv.c @@ -506,7 +506,8 @@ vm_reserv_from_page(vm_page_t m) } /* - * Returns an existing reservation or NULL and initialized successor pointer. + * Either returns an existing reservation or returns NULL and initializes + * successor pointer. */ static vm_reserv_t vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, @@ -515,7 +516,6 @@ vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, vm_reserv_t rv; vm_page_t msucc; - msucc = NULL; if (mpred != NULL) { KASSERT(mpred->object == object, ("vm_reserv_from_object: object doesn't contain mpred")); @@ -523,7 +523,7 @@ vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, ("vm_reserv_from_object: mpred doesn't precede pindex")); rv = vm_reserv_from_page(mpred); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) - goto found; + return (rv); msucc = TAILQ_NEXT(mpred, listq); } else msucc = TAILQ_FIRST(&object->memq); @@ -532,14 +532,10 @@ vm_reserv_from_object(vm_object_t object, vm_pindex_t pindex, ("vm_reserv_from_object: msucc doesn't succeed pindex")); rv = vm_reserv_from_page(msucc); if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) - goto found; + return (rv); } - rv = NULL; - -found: *msuccp = msucc; - - return (rv); + return (NULL); } /*