diff options
| author | Alexander Kabaev <kan@FreeBSD.org> | 2005-08-13 20:21:33 +0000 |
|---|---|---|
| committer | Alexander Kabaev <kan@FreeBSD.org> | 2005-08-13 20:21:33 +0000 |
| commit | 857b66d50529e867d79bb37f67797ae68bd97598 (patch) | |
| tree | 5bbdbd7596e8b4dcaef91afa8f64b9dc072a9f08 /sys | |
| parent | fd65baf8e2670e7b3302a5ea4ab4b572fd4c94ae (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/vfs_cluster.c | 6 | ||||
| -rw-r--r-- | sys/sys/buf.h | 2 | ||||
| -rw-r--r-- | sys/vm/vm_pager.c | 1 | ||||
| -rw-r--r-- | sys/vm/vnode_pager.c | 9 |
4 files changed, 3 insertions, 15 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index bdc6ecf38b16..ed80fc522a91 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -79,12 +79,6 @@ SYSCTL_INT(_vfs, OID_AUTO, read_max, CTLFLAG_RW, &read_max, 0, extern vm_page_t bogus_page; /* - * Number of physical bufs (pbufs) this subsystem is allowed. - * Manipulated by vm_pager.c - */ -extern int cluster_pbuf_freecnt; - -/* * Read data to a buf, including read-ahead if we find this to be beneficial. * cluster_read replaces bread. */ diff --git a/sys/sys/buf.h b/sys/sys/buf.h index a6ba1c01022a..411fdd429e3f 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -474,6 +474,8 @@ extern char *buffers; /* The buffer contents. */ extern int bufpages; /* Number of memory pages in the buffer pool. */ extern struct buf *swbuf; /* Swap I/O buffer headers. */ extern int nswbuf; /* Number of swap I/O buffer headers. */ +extern int cluster_pbuf_freecnt; /* Number of pbufs for clusters */ +extern int vnode_pbuf_freecnt; /* Number of pbufs for vnode pager */ caddr_t kern_vfs_bio_buffer_alloc(caddr_t v, long physmem_est); void bufinit(void); diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c index 8cc4839a4441..d6025ab6fe5c 100644 --- a/sys/vm/vm_pager.c +++ b/sys/vm/vm_pager.c @@ -216,6 +216,7 @@ vm_pager_bufferinit() } cluster_pbuf_freecnt = nswbuf / 2; + vnode_pbuf_freecnt = nswbuf / 2 + 1; swapbkva = kmem_alloc_nofault(pager_map, nswbuf * MAXPHYS); if (!swapbkva) diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index f12bb35616d3..703f967e2a37 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -75,7 +75,6 @@ __FBSDID("$FreeBSD$"); #include <vm/vnode_pager.h> #include <vm/vm_extern.h> -static void vnode_pager_init(void); static daddr_t vnode_pager_addr(struct vnode *vp, vm_ooffset_t address, int *run); static int vnode_pager_input_smlfs(vm_object_t object, vm_page_t m); @@ -87,7 +86,6 @@ static boolean_t vnode_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t); struct pagerops vnodepagerops = { - .pgo_init = vnode_pager_init, .pgo_alloc = vnode_pager_alloc, .pgo_dealloc = vnode_pager_dealloc, .pgo_getpages = vnode_pager_getpages, @@ -97,13 +95,6 @@ struct pagerops vnodepagerops = { int vnode_pbuf_freecnt; -static void -vnode_pager_init(void) -{ - - vnode_pbuf_freecnt = nswbuf / 2 + 1; -} - /* Create the VM system backing object for this vnode */ int vnode_create_vobject(struct vnode *vp, size_t isize, struct thread *td) |
