vm_fault.c (7263c8c0998402e9860a0865013fbec4ece98cd4) vm_fault.c (85af31a4646e2393c934cc4de2e7f6c8d38ecda4)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * Copyright (c) 1994 John S. Dyson
5 * All rights reserved.
6 * Copyright (c) 1994 David Greenman
7 * All rights reserved.
8 *

--- 334 unchanged lines hidden (view full) ---

343 }
344
345 if (fs.entry->eflags & MAP_ENTRY_IN_TRANSITION &&
346 fs.entry->wiring_thread != curthread) {
347 vm_map_unlock_read(fs.map);
348 vm_map_lock(fs.map);
349 if (vm_map_lookup_entry(fs.map, vaddr, &fs.entry) &&
350 (fs.entry->eflags & MAP_ENTRY_IN_TRANSITION)) {
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * Copyright (c) 1994 John S. Dyson
5 * All rights reserved.
6 * Copyright (c) 1994 David Greenman
7 * All rights reserved.
8 *

--- 334 unchanged lines hidden (view full) ---

343 }
344
345 if (fs.entry->eflags & MAP_ENTRY_IN_TRANSITION &&
346 fs.entry->wiring_thread != curthread) {
347 vm_map_unlock_read(fs.map);
348 vm_map_lock(fs.map);
349 if (vm_map_lookup_entry(fs.map, vaddr, &fs.entry) &&
350 (fs.entry->eflags & MAP_ENTRY_IN_TRANSITION)) {
351 if (fs.vp != NULL) {
352 vput(fs.vp);
353 fs.vp = NULL;
354 }
351 fs.entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP;
352 vm_map_unlock_and_wait(fs.map, 0);
353 } else
354 vm_map_unlock(fs.map);
355 goto RetryFault;
356 }
357
358 if (wired)

--- 1249 unchanged lines hidden ---
355 fs.entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP;
356 vm_map_unlock_and_wait(fs.map, 0);
357 } else
358 vm_map_unlock(fs.map);
359 goto RetryFault;
360 }
361
362 if (wired)

--- 1249 unchanged lines hidden ---