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 --- |