Page MenuHomeFreeBSD

D29203.diff
No OneTemporary

D29203.diff

diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c
--- a/sys/vm/vm_reserv.c
+++ b/sys/vm/vm_reserv.c
@@ -1344,8 +1344,8 @@
TAILQ_INSERT_AFTER(queue, rv, marker, partpopq);
vm_reserv_domain_unlock(domain);
vm_reserv_lock(rv);
- if (!rv->inpartpopq ||
- TAILQ_NEXT(rv, partpopq) != marker) {
+ if (TAILQ_PREV(marker, vm_reserv_queue, partpopq) !=
+ rv) {
vm_reserv_unlock(rv);
vm_reserv_domain_lock(domain);
rvn = TAILQ_NEXT(marker, partpopq);
@@ -1363,8 +1363,9 @@
vm_reserv_unlock(rv);
return (true);
}
- vm_reserv_unlock(rv);
vm_reserv_domain_lock(domain);
+ rvn = TAILQ_NEXT(rv, partpopq);
+ vm_reserv_unlock(rv);
}
vm_reserv_domain_unlock(domain);
vm_reserv_domain_scan_unlock(domain);

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 23, 8:57 AM (6 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30138383
Default Alt Text
D29203.diff (758 B)

Event Timeline