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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to