| Summary: | [vm] [patch] VM handles systems with sparse physical memory poorly | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Nathan Whitehorn <nathanw> | ||||
| Component: | kern | Assignee: | Alan Cox <alc> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | Unspecified | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Nathan Whitehorn
2007-04-27 23:20:04 UTC
Responsible Changed From-To: freebsd-bugs->alc Assign to alc for evaluation alc 2007-05-05 19:50:28 UTC
FreeBSD src repository
Modified files:
sys/amd64/include vmparam.h
sys/arm/include vmparam.h
sys/i386/include vmparam.h
sys/ia64/ia64 machdep.c
sys/ia64/include vmparam.h
sys/powerpc/include vmparam.h
sys/sparc64/include vmparam.h
sys/sun4v/include vmparam.h
sys/vm vm_page.c vm_page.h
Log:
Define every architecture as either VM_PHYSSEG_DENSE or
VM_PHYSSEG_SPARSE depending on whether the physical address space is
densely or sparsely populated with memory. The effect of this
definition is to determine which of two implementations of
vm_page_array and PHYS_TO_VM_PAGE() is used. The legacy
implementation is obtained by defining VM_PHYSSEG_DENSE, and a new
implementation that trades off time for space is obtained by defining
VM_PHYSSEG_SPARSE. For now, all architectures except for ia64 and
sparc64 define VM_PHYSSEG_DENSE. Defining VM_PHYSSEG_SPARSE on ia64
allows the entirety of my Itanium 2's memory to be used. Previously,
only the first 1 GB could be used. Defining VM_PHYSSEG_SPARSE on
sparc64 allows USIIIi-based systems to boot without crashing.
This change is a combination of Nathan Whitehorn's patch and my own
work in perforce.
Discussed with: kmacy, marius, Nathan Whitehorn
PR: 112194
Revision Changes Path
1.47 +5 -0 src/sys/amd64/include/vmparam.h
1.8 +5 -0 src/sys/arm/include/vmparam.h
1.42 +5 -0 src/sys/i386/include/vmparam.h
1.215 +0 -15 src/sys/ia64/ia64/machdep.c
1.14 +5 -0 src/sys/ia64/include/vmparam.h
1.6 +5 -0 src/sys/powerpc/include/vmparam.h
1.16 +5 -0 src/sys/sparc64/include/vmparam.h
1.3 +5 -0 src/sys/sun4v/include/vmparam.h
1.342 +8 -0 src/sys/vm/vm_page.c
1.148 +20 -2 src/sys/vm/vm_page.h
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->patched A patch has been applied to the HEAD of CVS that addresses this issue on both ia64 and sparc64. This PR should be closed after the submitter has had an opportunity to provide feedback. The patch currently in CVS works perfectly on my US IIIi machine. Thanks! State Changed From-To: patched->closed The originator of the PR has verified that the patch committed to the HEAD of CVS works for him. |