diff options
author | mckusick <mckusick@FreeBSD.org> | 2000-01-10 00:07:24 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2000-01-10 00:07:24 +0000 |
commit | a44e14097670c6ae3a2b4aa04f3af217928b2385 (patch) | |
tree | a08f2adb23e9ba4b91ac53ae99862009c265ffcc /sys/kern/vfs_export.c | |
parent | db94728905e902371a7b05c0d5248885340aa16b (diff) | |
download | FreeBSD-src-a44e14097670c6ae3a2b4aa04f3af217928b2385.zip FreeBSD-src-a44e14097670c6ae3a2b4aa04f3af217928b2385.tar.gz |
Remove the P_BUFEXHAUST flag from the syncer process (leaving
it only on the buf_daemon process). The problem is that when the
syncer process starts running the worklist, it wants to delete
lots of files. It does this by VFS_VGET'ing the vnodes, clearing
the blocks in them and bdwrite'ing the buffer. It can process close
to a thousand files per second which generates a large number of
dirty buffers. So, giving it special priviledge at the buffer trough
leads to trouble as the buf_daemon does occationally need a free
buffer to proceed and if the syncer has used every last one up,
we are toast.
Diffstat (limited to 'sys/kern/vfs_export.c')
-rw-r--r-- | sys/kern/vfs_export.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 54c7ad1..4e6123e 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -981,8 +981,6 @@ sched_sync(void) EVENTHANDLER_REGISTER(shutdown_pre_sync, shutdown_kproc, p, SHUTDOWN_PRI_LAST); - p->p_flag |= P_BUFEXHAUST; - for (;;) { kproc_suspend_loop(p); |