On 28/04/15 20:55, Andrew Stuart wrote:
I think I fixed it.
How did you diagnose it?
I remembered that you said it ran out of memory, then observed that it
was running out of memory in the kernel, put a breakpoint at the
pager-wakeup function (uvm_wait), and sure enough the first thing that
hit it had a suspicious-looking backtrace. (plus a few wrong turns
along the way, such as just single-stepping the execution, but detailing
those would ruin the story ;)
How I *should have* diagnosed it is that we should have a userspace
platform for rumprun, and then I could've just run it with profiling and
probably would've caught the offensive path quite quick.
Another way would have been to use various rumpctrl tools to figure out
what's going on. df would've probably revealed a problem.