Deleted Added
full compact
swap_pager.c (136927) swap_pager.c (137186)
1/*
2 * Copyright (c) 1998 Matthew Dillon,
3 * Copyright (c) 1994 John S. Dyson
4 * Copyright (c) 1990 University of Utah.
5 * Copyright (c) 1982, 1986, 1989, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * This code is derived from software contributed to Berkeley by

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

62 *
63 * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$
64 *
65 * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94
66 * @(#)vm_swap.c 8.5 (Berkeley) 2/17/94
67 */
68
69#include <sys/cdefs.h>
1/*
2 * Copyright (c) 1998 Matthew Dillon,
3 * Copyright (c) 1994 John S. Dyson
4 * Copyright (c) 1990 University of Utah.
5 * Copyright (c) 1982, 1986, 1989, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * This code is derived from software contributed to Berkeley by

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

62 *
63 * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$
64 *
65 * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94
66 * @(#)vm_swap.c 8.5 (Berkeley) 2/17/94
67 */
68
69#include <sys/cdefs.h>
70__FBSDID("$FreeBSD: head/sys/vm/swap_pager.c 136927 2004-10-24 20:03:41Z phk $");
70__FBSDID("$FreeBSD: head/sys/vm/swap_pager.c 137186 2004-11-04 07:59:57Z phk $");
71
72#include "opt_mac.h"
73#include "opt_swap.h"
74#include "opt_vm.h"
75
76#include <sys/param.h>
77#include <sys/systm.h>
78#include <sys/conf.h>

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

1128 */
1129 s = splvm();
1130 vm_page_lock_queues();
1131 while ((mreq->flags & PG_SWAPINPROG) != 0) {
1132 vm_page_flag_set(mreq, PG_WANTED | PG_REFERENCED);
1133 cnt.v_intrans++;
1134 if (msleep(mreq, &vm_page_queue_mtx, PSWP, "swread", hz*20)) {
1135 printf(
71
72#include "opt_mac.h"
73#include "opt_swap.h"
74#include "opt_vm.h"
75
76#include <sys/param.h>
77#include <sys/systm.h>
78#include <sys/conf.h>

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

1128 */
1129 s = splvm();
1130 vm_page_lock_queues();
1131 while ((mreq->flags & PG_SWAPINPROG) != 0) {
1132 vm_page_flag_set(mreq, PG_WANTED | PG_REFERENCED);
1133 cnt.v_intrans++;
1134 if (msleep(mreq, &vm_page_queue_mtx, PSWP, "swread", hz*20)) {
1135 printf(
1136"swap_pager: indefinite wait buffer: device: %s, blkno: %jd, size: %ld\n",
1137 bp->b_dev == NULL ? "[NULL]" : devtoname(bp->b_dev),
1138 (intmax_t)bp->b_blkno, bp->b_bcount);
1136"swap_pager: indefinite wait buffer: bufobj: %p, blkno: %jd, size: %ld\n",
1137 bp->b_bufobj, (intmax_t)bp->b_blkno, bp->b_bcount);
1139 }
1140 }
1141 vm_page_unlock_queues();
1142 splx(s);
1143
1144 VM_OBJECT_LOCK(mreq->object);
1145 /*
1146 * mreq is left busied after completion, but all the other pages

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

2532 */
2533
2534static void
2535swapdev_strategy(struct buf *bp, struct swdevt *sp)
2536{
2537 int s;
2538 struct vnode *vp2;
2539
1138 }
1139 }
1140 vm_page_unlock_queues();
1141 splx(s);
1142
1143 VM_OBJECT_LOCK(mreq->object);
1144 /*
1145 * mreq is left busied after completion, but all the other pages

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

2531 */
2532
2533static void
2534swapdev_strategy(struct buf *bp, struct swdevt *sp)
2535{
2536 int s;
2537 struct vnode *vp2;
2538
2540 bp->b_dev = NULL;
2541 bp->b_blkno = ctodb(bp->b_blkno - sp->sw_first);
2542
2543 vp2 = sp->sw_id;
2544 vhold(vp2);
2545 s = splvm();
2546 if (bp->b_iocmd == BIO_WRITE) {
2547 if (bp->b_bufobj) /* XXX: should always be true /phk */
2548 bufobj_wdrop(bp->b_bufobj);

--- 49 unchanged lines hidden ---
2539 bp->b_blkno = ctodb(bp->b_blkno - sp->sw_first);
2540
2541 vp2 = sp->sw_id;
2542 vhold(vp2);
2543 s = splvm();
2544 if (bp->b_iocmd == BIO_WRITE) {
2545 if (bp->b_bufobj) /* XXX: should always be true /phk */
2546 bufobj_wdrop(bp->b_bufobj);

--- 49 unchanged lines hidden ---