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.
This commit is contained in:
Kirk McKusick 2000-01-10 00:07:24 +00:00
parent f0f7d38386
commit 411e1480fd
2 changed files with 0 additions and 4 deletions

View File

@ -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);

View File

@ -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);