diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2019-08-16 09:43:49 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2019-08-16 09:43:49 +0000 |
commit | 245139c69d15c639b9e518349786ae46c3188f01 (patch) | |
tree | b47b5b3af8d16c265572fc651d84cb55bd36b647 /cddl | |
parent | 3a79e8e7721fbc40b8c63cf4473d92793be73a1a (diff) | |
download | src-245139c69d15c639b9e518349786ae46c3188f01.tar.gz src-245139c69d15c639b9e518349786ae46c3188f01.zip |
Fix OOM handling of some corner cases.
In addition to pagedaemon initiating OOM, also do it from the
vm_fault() internals. Namely, if the thread waits for a free page to
satisfy page fault some preconfigured amount of time, trigger OOM.
These triggers are rate-limited, due to a usual case of several
threads of the same multi-threaded process to enter fault handler
simultaneously. The faults from pagedaemon threads participate in the
calculation of OOM rate, but are not under the limit.
Reviewed by: markj (previous version)
Tested by: pho
Discussed with: alc
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D13671
Notes
Notes:
svn path=/head/; revision=351114
Diffstat (limited to 'cddl')
0 files changed, 0 insertions, 0 deletions