Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_pageout.c
Show First 20 Lines • Show All 152 Lines • ▼ Show 20 Lines | |||||
static int disable_swap_pageouts; | static int disable_swap_pageouts; | ||||
static int lowmem_period = 10; | static int lowmem_period = 10; | ||||
static int swapdev_enabled; | static int swapdev_enabled; | ||||
static int vm_panic_on_oom = 0; | static int vm_panic_on_oom = 0; | ||||
SYSCTL_INT(_vm, OID_AUTO, panic_on_oom, | SYSCTL_INT(_vm, OID_AUTO, panic_on_oom, | ||||
CTLFLAG_RWTUN, &vm_panic_on_oom, 0, | CTLFLAG_RWTUN, &vm_panic_on_oom, 0, | ||||
"panic on out of memory instead of killing the largest process"); | "Panic on the given number of out-of-memory errors instead of killing the largest process"); | ||||
SYSCTL_INT(_vm, OID_AUTO, pageout_update_period, | SYSCTL_INT(_vm, OID_AUTO, pageout_update_period, | ||||
CTLFLAG_RWTUN, &vm_pageout_update_period, 0, | CTLFLAG_RWTUN, &vm_pageout_update_period, 0, | ||||
"Maximum active LRU update period"); | "Maximum active LRU update period"); | ||||
SYSCTL_INT(_vm, OID_AUTO, lowmem_period, CTLFLAG_RWTUN, &lowmem_period, 0, | SYSCTL_INT(_vm, OID_AUTO, lowmem_period, CTLFLAG_RWTUN, &lowmem_period, 0, | ||||
"Low memory callback period"); | "Low memory callback period"); | ||||
▲ Show 20 Lines • Show All 1,758 Lines • ▼ Show 20 Lines | if (size > bigsize) { | ||||
bigproc = p; | bigproc = p; | ||||
bigsize = size; | bigsize = size; | ||||
} else { | } else { | ||||
PRELE(p); | PRELE(p); | ||||
} | } | ||||
} | } | ||||
sx_sunlock(&allproc_lock); | sx_sunlock(&allproc_lock); | ||||
if (bigproc != NULL) { | if (bigproc != NULL) { | ||||
if (vm_panic_on_oom != 0) | if (vm_panic_on_oom != 0 && --vm_panic_on_oom == 0) | ||||
panic("out of swap space"); | panic("out of swap space"); | ||||
PROC_LOCK(bigproc); | PROC_LOCK(bigproc); | ||||
killproc(bigproc, "out of swap space"); | killproc(bigproc, "out of swap space"); | ||||
sched_nice(bigproc, PRIO_MIN); | sched_nice(bigproc, PRIO_MIN); | ||||
_PRELE(bigproc); | _PRELE(bigproc); | ||||
PROC_UNLOCK(bigproc); | PROC_UNLOCK(bigproc); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 299 Lines • Show Last 20 Lines |