Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/rump/librump/rumpkern
Module Name: src
Committed By: pooka
Date: Thu Jun 3 10:56:20 UTC 2010
Modified Files:
src/sys/rump/librump/rumpkern: locks_up.c memalloc.c rump.c
rump_private.h vm.c
Log Message:
Implement a sort-of pagedaemon: adjust all memory allocators to go
through an in-rumpkernel hypermemory allocator which knows it should
kick the pagedaemon and block in case ``waitok'' memory allocation
fails.
This allows us to recover from some out-of-memory situations.
Realworld'istically speaking (as opposed to whatever "should be"
theory), these OOM situations will happen extremely rarely if ever
when our hypervisor is a regular process. Speculatively, this
should be useful for other types of hosts.
issues remaining:
* the hypervisor does not know how to reclaim kernel memory (and
for the reason I stated above, I'm not sure if it makes sense
to teach the current implementation about that)
* vfs memory (buffers, vm object pages etc.) is not reclaimed
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/librump/rumpkern/locks_up.c
cvs rdiff -u -r1.6 -r1.7 src/sys/rump/librump/rumpkern/memalloc.c
cvs rdiff -u -r1.174 -r1.175 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.49 -r1.50 src/sys/rump/librump/rumpkern/rump_private.h
cvs rdiff -u -r1.79 -r1.80 src/sys/rump/librump/rumpkern/vm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index