diff options
author | silby <silby@FreeBSD.org> | 2002-02-19 18:34:02 +0000 |
---|---|---|
committer | silby <silby@FreeBSD.org> | 2002-02-19 18:34:02 +0000 |
commit | d2e8b2531b7bad266bd3129197e12bb0a24fecdc (patch) | |
tree | 0422c97f5c3abd970e82918ecba7ad8cb7fa7b7f /sys/vm/vm_fault.c | |
parent | 3ea171f473051ad2c791ce153547748bd57b3bb5 (diff) | |
download | FreeBSD-src-d2e8b2531b7bad266bd3129197e12bb0a24fecdc.zip FreeBSD-src-d2e8b2531b7bad266bd3129197e12bb0a24fecdc.tar.gz |
Changes to make the OOM killer much more effective:
- Allow the OOM killer to target processes currently locked in
memory. These very often are the ones doing the memory hogging.
- Drop the wakeup priority of processes currently sleeping while
waiting for their page fault to complete. In order for the OOM
killer to work well, the killed process and other system processes
waiting on memory must be allowed to wakeup first.
Reviewed by: dillon
MFC after: 1 week
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r-- | sys/vm/vm_fault.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 79e1224..77e1615 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -347,7 +347,7 @@ RetryFault:; if ((queue - fs.m->pc) == PQ_CACHE && vm_page_count_severe()) { vm_page_activate(fs.m); unlock_and_deallocate(&fs); - VM_WAIT; + VM_WAITPFAULT; goto RetryFault; } @@ -388,7 +388,7 @@ RetryFault:; } if (fs.m == NULL) { unlock_and_deallocate(&fs); - VM_WAIT; + VM_WAITPFAULT; goto RetryFault; } } |