Deleted Added
full compact
vm_fault.c (98304) vm_fault.c (98849)
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 *

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

61 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
62 * School of Computer Science
63 * Carnegie Mellon University
64 * Pittsburgh PA 15213-3890
65 *
66 * any improvements or extensions that they make and grant Carnegie the
67 * rights to redistribute these changes.
68 *
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 *

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

61 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
62 * School of Computer Science
63 * Carnegie Mellon University
64 * Pittsburgh PA 15213-3890
65 *
66 * any improvements or extensions that they make and grant Carnegie the
67 * rights to redistribute these changes.
68 *
69 * $FreeBSD: head/sys/vm/vm_fault.c 98304 2002-06-16 20:42:29Z alc $
69 * $FreeBSD: head/sys/vm/vm_fault.c 98849 2002-06-26 03:37:47Z ken $
70 */
71
72/*
73 * Page fault handling module.
74 */
75#include <sys/param.h>
76#include <sys/systm.h>
77#include <sys/kernel.h>

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

306 }
307
308 /*
309 * See if page is resident
310 */
311 fs.m = vm_page_lookup(fs.object, fs.pindex);
312 if (fs.m != NULL) {
313 int queue, s;
70 */
71
72/*
73 * Page fault handling module.
74 */
75#include <sys/param.h>
76#include <sys/systm.h>
77#include <sys/kernel.h>

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

306 }
307
308 /*
309 * See if page is resident
310 */
311 fs.m = vm_page_lookup(fs.object, fs.pindex);
312 if (fs.m != NULL) {
313 int queue, s;
314
315 /*
316 * check for page-based copy on write
317 */
318
319 if ((fs.m->cow) &&
320 (fault_type & VM_PROT_WRITE)) {
321 s = splvm();
322 vm_page_cowfault(fs.m);
323 splx(s);
324 unlock_things(&fs);
325 goto RetryFault;
326 }
327
314 /*
315 * Wait/Retry if the page is busy. We have to do this
316 * if the page is busy via either PG_BUSY or
317 * vm_page_t->busy because the vm_pager may be using
318 * vm_page_t->busy for pageouts ( and even pageins if
319 * it is the vnode pager ), and we could end up trying
320 * to pagein and pageout the same page simultaneously.
321 *

--- 923 unchanged lines hidden ---
328 /*
329 * Wait/Retry if the page is busy. We have to do this
330 * if the page is busy via either PG_BUSY or
331 * vm_page_t->busy because the vm_pager may be using
332 * vm_page_t->busy for pageouts ( and even pageins if
333 * it is the vnode pager ), and we could end up trying
334 * to pagein and pageout the same page simultaneously.
335 *

--- 923 unchanged lines hidden ---