svn commit: r356866 - head/sys/vm

Andrew Gallatin gallatin at FreeBSD.org
Sat Jan 18 18:25:37 UTC 2020


Author: gallatin
Date: Sat Jan 18 18:25:37 2020
New Revision: 356866
URL: https://svnweb.freebsd.org/changeset/base/356866

Log:
  pcpu_page_alloc: guard against empty NUMA domains
  
  Some systems, such as higher end Threadripper, may have
  NUMA domains with no physical memory, Don't allocate
  from these domains.
  
  This fixes a "panic: vm_wait in early boot" on my 2990WX desktop
  
  Reviewed by:	jeff
  Sponsored by:	Netflix

Modified:
  head/sys/vm/uma_core.c

Modified: head/sys/vm/uma_core.c
==============================================================================
--- head/sys/vm/uma_core.c	Sat Jan 18 10:55:38 2020	(r356865)
+++ head/sys/vm/uma_core.c	Sat Jan 18 18:25:37 2020	(r356866)
@@ -1521,7 +1521,11 @@ pcpu_page_alloc(uma_zone_t zone, vm_size_t bytes, int 
 			p = vm_page_alloc(NULL, 0, flags);
 #else
 			pc = pcpu_find(cpu);
-			p = vm_page_alloc_domain(NULL, 0, pc->pc_domain, flags);
+			if (__predict_false(VM_DOMAIN_EMPTY(pc->pc_domain)))
+				p = NULL;
+			else
+				p = vm_page_alloc_domain(NULL, 0,
+				    pc->pc_domain, flags);
 			if (__predict_false(p == NULL))
 				p = vm_page_alloc(NULL, 0, flags);
 #endif


More information about the svn-src-head mailing list