>Number:         185727
>Category:       kern
>Synopsis:       Devices fail to probe on 128GB or larger memory machines
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 13 01:40:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Alfred Perlstein
>Release:        -current / 10.x
>Organization:
FreeBSD
>Environment:
N/A
>Description:
FreeBSD machines with large memory, it seems 128GB or higher wind up without 
enough memory under 4GB for many devices to work.

This results in USB not working (keyboard/mouse doesn't attach), and some HBAs 
fail as well.  I think other devices may fail as well, but I've not experienced 
that yet.
>How-To-Repeat:
Boot FreeBSD 10.x or FreeBSD-current with more than 128GB of memory and some 
hardware configs.
>Fix:
Alan Cox posted the attached patch (
hack2.patch) , however there needs to be some work done still on it according 
to him:

> The only issue with this patch is that it will pessimize the speed of
> physical memory allocation on amd64 machines with small amounts of
> memory.  I need to augment the attached patch, which just changes some
> #define's, with some changes to vm_phys.c to avoid creating excess free
> page queues on small memory machines.
>
> Alan

Patch attached with submission follows:

Index: amd64/include/vmparam.h
===================================================================
--- amd64/include/vmparam.h     (revision 243366)
+++ amd64/include/vmparam.h     (working copy)
@@ -106,10 +106,13 @@
  * accessible by ISA DMA and VM_FREELIST_ISADMA is for physical pages
  * that are below that address.
  */
-#define        VM_NFREELIST            2
-#define        VM_FREELIST_DEFAULT     0
-#define        VM_FREELIST_ISADMA      1
+#define        VM_NFREELIST            3
+#define        VM_FREELIST_HIGHMEM     0
+#define        VM_FREELIST_DEFAULT     1
+#define        VM_FREELIST_ISADMA      2
 
+#define        VM_HIGHMEM_ADDRESS      ((vm_paddr_t)1 << 32)
+
 /*
  * An allocation size of 16MB is supported in order to optimize the
  * use of the direct map by UMA.  Specifically, a cache line contains


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to