swapping is completely broken in -CURRENT r334649?

Mark Johnston markj at freebsd.org
Fri Jun 15 09:04:02 UTC 2018


On Fri, Jun 15, 2018 at 10:48:08AM +0200, Kurt Jaeger wrote:
> Hi!
> 
> > The change was committed as r334752.  Are you seeing unexpected OOM
> > kills on or after that revision?
> 
> When I tried to run a qemu-based poudriere run yesterday on a r334918
> box, it killed a few processes outside of that run and did not
> work out.
> 
> I'm unsure it was because of that problem or a problem with qemu.

How much memory and swap does the guest have?  Were you consistently
able to complete a run before?

If it's happening during a poudriere run, it may well have been a true
OOM situation.  The patch below prints a few stats to the dmesg before
the kill.  The output of that together with "sysctl vm" output should be
enough to determine what's happening.

diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 264c98203c51..9c7ebcf451ec 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -1670,6 +1670,8 @@ vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage,
 	 * start OOM.  Initiate the selection and signaling of the
 	 * victim.
 	 */
+	printf("v_free_count: %u, v_inactive_count: %u\n",
+	    vmd->vmd_free_count, vmd->vmd_pagequeues[PQ_INACTIVE].pq_cnt);
 	vm_pageout_oom(VM_OOM_MEM);
 
 	/*


More information about the freebsd-current mailing list