summaryrefslogtreecommitdiffstats
path: root/sys/sys/vnode.h
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2006-03-02 05:50:23 +0000
committerjeff <jeff@FreeBSD.org>2006-03-02 05:50:23 +0000
commit0951f797b292b58c87659eb994f19c7bca41f2db (patch)
tree64cd0a5cc89c9b9a6a5be4df15542e217a4d84f5 /sys/sys/vnode.h
parent8e6862e21e88a44559d3bf6cfe1fe7f4452bff26 (diff)
downloadFreeBSD-src-0951f797b292b58c87659eb994f19c7bca41f2db.zip
FreeBSD-src-0951f797b292b58c87659eb994f19c7bca41f2db.tar.gz
- Move softdep from using a global worklist to per-mount worklists. This
has many positive effects including improved smp locking, reducing interdependencies between mounts that can lead to deadlocks, etc. - Add the softdep worklist and various counters to the ufsmnt structure. - Add a mount pointer to the workitem and remove mount pointers from the various structures derived from the workitem as they are now redundant. - Remove the poor-man's semaphore protecting softdep_process_worklist and softdep_flushworklist. Several threads may now process the list simultaneously. - Add softdep_waitidle() to block the thread until all pending dependencies being operated on by other threads have been flushed. - Use softdep_waitidle() in unmount and snapshots to block either operation until the fs is stable. - Remove softdep worklist processing from the syncer and move it into the softdep_flush() thread. This thread processes all softdep mounts once each second and when it is called via the new softdep_speedup() when there is a resource shortage. This removes the softdep hook from the kernel and various hacks in header files to support it. Reviewed by/Discussed with: tegge, truckman, mckusick Tested by: kris
Diffstat (limited to 'sys/sys/vnode.h')
-rw-r--r--sys/sys/vnode.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index 426244e..79de95c 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -555,7 +555,6 @@ struct vattr;
struct vnode;
extern int (*lease_check_hook)(struct vop_lease_args *);
-extern int (*softdep_process_worklist_hook)(struct mount *);
/* cache_* may belong in namei.h. */
void cache_enter(struct vnode *dvp, struct vnode *vp,
OpenPOWER on IntegriCloud