version 1.92, 1998/08/17 17:29:20 |
version 1.93, 1998/09/01 03:09:14 |
Line 153 struct mount *rootfs; |
|
Line 153 struct mount *rootfs; |
|
struct vnode *rootvnode; |
struct vnode *rootvnode; |
struct device *root_device; /* root device */ |
struct device *root_device; /* root device */ |
|
|
|
struct pool vnode_pool; /* memory pool for vnodes */ |
|
|
/* |
/* |
* Local declarations. |
* Local declarations. |
*/ |
*/ |
|
|
simple_lock_init(&mntid_slock); |
simple_lock_init(&mntid_slock); |
simple_lock_init(&spechash_slock); |
simple_lock_init(&spechash_slock); |
simple_lock_init(&vnode_free_list_slock); |
simple_lock_init(&vnode_free_list_slock); |
|
|
|
pool_init(&vnode_pool, sizeof(struct vnode), 0, 0, 0, "vnodepl", |
|
0, pool_page_alloc_nointr, pool_page_free_nointr, M_VNODE); |
} |
} |
|
|
/* |
/* |
Line 399 getnewvnode(tag, mp, vops, vpp) |
|
Line 404 getnewvnode(tag, mp, vops, vpp) |
|
numvnodes < 2 * desiredvnodes) || |
numvnodes < 2 * desiredvnodes) || |
numvnodes < desiredvnodes) { |
numvnodes < desiredvnodes) { |
simple_unlock(&vnode_free_list_slock); |
simple_unlock(&vnode_free_list_slock); |
vp = (struct vnode *)malloc((u_long)sizeof(*vp), |
vp = pool_get(&vnode_pool, PR_WAITOK); |
M_VNODE, M_WAITOK); |
|
memset((char *)vp, 0, sizeof(*vp)); |
memset((char *)vp, 0, sizeof(*vp)); |
numvnodes++; |
numvnodes++; |
} else { |
} else { |