summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-05-09 20:08:36 +0000
committerkib <kib@FreeBSD.org>2015-05-09 20:08:36 +0000
commit71cf7d735ddd1093585a3c16ebc3acefe1956567 (patch)
tree076f93ba33455e8fa9706dc599764746cfac5937 /etc
parentf8a287817e52145ad960059db5052bda25da2edf (diff)
downloadFreeBSD-src-71cf7d735ddd1093585a3c16ebc3acefe1956567.zip
FreeBSD-src-71cf7d735ddd1093585a3c16ebc3acefe1956567.tar.gz
The vmem callback to reclaim kmem arena address space on low or
fragmented conditions currently just wakes up the pagedaemon. The kmem arena is significantly smaller then the total available physical memory, which means that there are loads where kmem arena space could be exhausted, while there is a lot of pages available still. The woken up pagedaemon sees vm_pages_needed != 0, verifies the condition vm_paging_needed() which is false, clears the pass and returns back to sleep, not calling neither uma_reclaim() nor lowmem handler. To handle low kmem arena conditions, create additional pagedaemon thread which calls uma_reclaim() directly. The thread sleeps on the dedicated channel and kmem_reclaim() wakes the thread in addition to the pagedaemon. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud