Deleted Added
full compact
vfs_bio.c (12577) vfs_bio.c (12623)
1/*
2 * Copyright (c) 1994 John S. Dyson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

13 * documentation and/or other materials provided with the distribution.
14 * 3. Absolutely no warranty of function or purpose is made by the author
15 * John S. Dyson.
16 * 4. This work was done expressly for inclusion into FreeBSD. Other use
17 * is allowed if this notation is included.
18 * 5. Modifications may be freely made to this file if the above conditions
19 * are met.
20 *
1/*
2 * Copyright (c) 1994 John S. Dyson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

13 * documentation and/or other materials provided with the distribution.
14 * 3. Absolutely no warranty of function or purpose is made by the author
15 * John S. Dyson.
16 * 4. This work was done expressly for inclusion into FreeBSD. Other use
17 * is allowed if this notation is included.
18 * 5. Modifications may be freely made to this file if the above conditions
19 * are met.
20 *
21 * $Id: vfs_bio.c,v 1.72 1995/12/02 17:10:47 bde Exp $
21 * $Id: vfs_bio.c,v 1.73 1995/12/02 18:58:44 bde Exp $
22 */
23
24/*
25 * this file contains a new buffer I/O scheme implementing a coherent
26 * VM object and buffer cache scheme. Pains have been taken to make
27 * sure that the performance degradation associated with schemes such
28 * as this is not realized.
29 *
30 * Author: John S. Dyson
31 * Significant help during the development and debugging phases
32 * had been provided by David Greenman, also of the FreeBSD core team.
33 */
34
35#define VMIO
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/sysproto.h>
39#include <sys/kernel.h>
22 */
23
24/*
25 * this file contains a new buffer I/O scheme implementing a coherent
26 * VM object and buffer cache scheme. Pains have been taken to make
27 * sure that the performance degradation associated with schemes such
28 * as this is not realized.
29 *
30 * Author: John S. Dyson
31 * Significant help during the development and debugging phases
32 * had been provided by David Greenman, also of the FreeBSD core team.
33 */
34
35#define VMIO
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/sysproto.h>
39#include <sys/kernel.h>
40#include <sys/sysctl.h>
40#include <sys/proc.h>
41#include <sys/vnode.h>
42#include <vm/vm.h>
43#include <vm/vm_kern.h>
44#include <vm/vm_pageout.h>
45#include <vm/vm_page.h>
46#include <vm/vm_object.h>
47#include <sys/buf.h>

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

1350 while (1) {
1351 tsleep(&vfs_update_wakeup, PRIBIO, "update",
1352 hz * vfs_update_interval);
1353 vfs_update_wakeup = 0;
1354 sync(curproc, NULL, NULL);
1355 }
1356}
1357
41#include <sys/proc.h>
42#include <sys/vnode.h>
43#include <vm/vm.h>
44#include <vm/vm_kern.h>
45#include <vm/vm_pageout.h>
46#include <vm/vm_page.h>
47#include <vm/vm_object.h>
48#include <sys/buf.h>

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

1351 while (1) {
1352 tsleep(&vfs_update_wakeup, PRIBIO, "update",
1353 hz * vfs_update_interval);
1354 vfs_update_wakeup = 0;
1355 sync(curproc, NULL, NULL);
1356 }
1357}
1358
1359static int
1360sysctl_kern_updateinterval SYSCTL_HANDLER_ARGS
1361{
1362 int error = sysctl_handle_int(oidp,
1363 oidp->oid_arg1, oidp->oid_arg2, req);
1364 if (!error)
1365 wakeup(&vfs_update_wakeup);
1366 return error;
1367}
1368
1369SYSCTL_PROC(_kern, KERN_UPDATEINTERVAL, update, CTLTYPE_INT|CTLFLAG_RW,
1370 &vfs_update_interval, 0, sysctl_kern_updateinterval, "I", "");
1371
1372
1358/*
1359 * This routine is called in lieu of iodone in the case of
1360 * incomplete I/O. This keeps the busy status for pages
1361 * consistant.
1362 */
1363void
1364vfs_unbusy_pages(struct buf * bp)
1365{

--- 191 unchanged lines hidden ---
1373/*
1374 * This routine is called in lieu of iodone in the case of
1375 * incomplete I/O. This keeps the busy status for pages
1376 * consistant.
1377 */
1378void
1379vfs_unbusy_pages(struct buf * bp)
1380{

--- 191 unchanged lines hidden ---