#
b6715dab |
| 14-Jan-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Move VM_NUMA_ALLOC and DEVICE_NUMA under the single global config option NUMA.
Sponsored by: Netflix, Dell/EMC Isilon Discussed with: jhb
|
#
72bfb31a |
| 13-Jan-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r327886 through r327930.
|
#
6f4acaf4 |
| 13-Jan-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Add support for NUMA domains to bus dma tags. This causes all memory allocated with a tag to come from the specified domain if it meets the other constraints provided by the tag. Automatically crea
Add support for NUMA domains to bus dma tags. This causes all memory allocated with a tag to come from the specified domain if it meets the other constraints provided by the tag. Automatically create a tag at the root of each bus specifying the domain local to that bus if available.
Reviewed by: jhb, kib Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D13545
show more ...
|
#
3f289c3f |
| 12-Jan-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows userspace to control NUMA policy administratively and programmatically.
Implement domainset based iterators in the page laye
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows userspace to control NUMA policy administratively and programmatically.
Implement domainset based iterators in the page layer.
Remove the now legacy numa_* syscalls.
Cleanup some header polution created by having seq.h in proc.h.
Reviewed by: markj, kib Discussed with: alc Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D13403
show more ...
|
#
5be93778 |
| 04-Dec-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Print the correct value when freelist is out of range.
Security: : Sponsored by: DARPA, AFRL
|
#
0db2102a |
| 04-Dec-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[mips] [vm] restore translation of freelist to flind for page allocation
Commit r326346 moved domain iterators from physical layer to vm_page one, but it also removed translation of freelist to flin
[mips] [vm] restore translation of freelist to flind for page allocation
Commit r326346 moved domain iterators from physical layer to vm_page one, but it also removed translation of freelist to flind for vm_page_alloc_freelist() call. Before it expects VM_FREELIST_ parameter, but after it expect freelist index.
On small WiFi boxes with few megabytes of RAM, there is only one freelist VM_FREELIST_LOWMEM (1) and there is no VM_FREELIST_DEFAULT(0) (see file sys/mips/include/vmparam.h). It results in freelist 1 with flind 0.
At first, this commit renames flind to freelist in vm_page_alloc_freelist to avoid misunderstanding about input parameters. Then on physical layer it restores translation for correct handling of freelist parameter.
Reported by: landonf Reviewed by: jeff Differential Revision: https://reviews.freebsd.org/D13351
show more ...
|
#
ef435ae7 |
| 29-Nov-2017 |
Jeff Roberson <jeff@FreeBSD.org> |
Move domain iterators into the page layer where domain selection should take place. This makes the majority of the phys layer explicitly domain specific.
Reviewed by: markj, kib (some objections) D
Move domain iterators into the page layer where domain selection should take place. This makes the majority of the phys layer explicitly domain specific.
Reviewed by: markj, kib (some objections) Discussed with: alc Tested by: pho Sponsored by: Netflix & Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D13014
show more ...
|
#
d2b677ce |
| 27-Nov-2017 |
Mark Johnston <markj@FreeBSD.org> |
Avoid unnecessary lookups when initializing the vm_page array.
This gives a marginal improvement in the vm_page_array initialization time. Also garbage-collect the now-unused vm_phys_paddr_to_segind
Avoid unnecessary lookups when initializing the vm_page array.
This gives a marginal improvement in the vm_page_array initialization time. Also garbage-collect the now-unused vm_phys_paddr_to_segind().
Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D13270
show more ...
|
#
fe267a55 |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error pro
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
No functional change intended.
show more ...
|
#
b20bf182 |
| 26-Nov-2017 |
Mark Johnston <markj@FreeBSD.org> |
Move vm_phys_init_page() to vm_page.c.
Suggested by: kib Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D13250
|
#
830cb6b2 |
| 26-Nov-2017 |
Mark Johnston <markj@FreeBSD.org> |
Remove unneeded initializations from vm_phys_init_page().
The page allocator always initializes the aflags and oflags fields.
Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://
Remove unneeded initializations from vm_phys_init_page().
The page allocator always initializes the aflags and oflags fields.
Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D13242
show more ...
|
Revision tags: release/10.4.0 |
|
#
b754c279 |
| 13-Sep-2017 |
Navdeep Parhar <np@FreeBSD.org> |
MFH @ r323558.
|
#
5be4ad9e |
| 09-Sep-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r323343
|
#
f93f7cf1 |
| 07-Sep-2017 |
Mark Johnston <markj@FreeBSD.org> |
Speed up vm_page_array initialization.
We currently initialize the vm_page array in three passes: one to zero the array, one to initialize the "order" field of each page (necessary when inserting th
Speed up vm_page_array initialization.
We currently initialize the vm_page array in three passes: one to zero the array, one to initialize the "order" field of each page (necessary when inserting them into the vm_phys buddy allocator one-by-one), and one to initialize the remaining non-zero fields and individually insert each page into the allocator.
Merge the three passes into one following a suggestion from alc: initialize vm_page fields in a single pass, and use vm_phys_free_contig() to efficiently insert physical memory segments into the buddy allocator. This reduces the initialization time to a third or a quarter of what it was before on most systems that I tested.
Reviewed by: alc, kib MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D12248
show more ...
|
Revision tags: release/11.1.0 |
|
#
f9edb084 |
| 05-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313055 through r313300.
|
#
9b3ece1c |
| 04-Feb-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r313243
|
#
a6b15641 |
| 02-Feb-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Ifdef out the unused vm_rr_selectdomain().
MFC after: 2 weeks Sponsored by: DARPA, AFRL
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
3d6d3da4 |
| 04-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305361 through r305389.
|
#
dbbaf04f |
| 03-Sep-2016 |
Mark Johnston <markj@FreeBSD.org> |
Remove support for idle page zeroing.
Idle page zeroing has been disabled by default on all architectures since r170816 and has some bugs that make it seemingly unusable. Specifically, the idle-prio
Remove support for idle page zeroing.
Idle page zeroing has been disabled by default on all architectures since r170816 and has some bugs that make it seemingly unusable. Specifically, the idle-priority pagezero thread exacerbates contention for the free page lock, and yields the CPU without releasing it in non-preemptive kernels. The pagezero thread also does not behave correctly when superpage reservations are enabled: its target is a function of v_free_count, which includes reserved-but-free pages, but it is only able to zero pages belonging to the physical memory allocator.
Reviewed by: alc, imp, kib Differential Revision: https://reviews.freebsd.org/D7714
show more ...
|
#
27067774 |
| 16-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r303250 through r304235.
|
#
f76e5f20 |
| 14-Aug-2016 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead @ r304061
|
#
fc85a6f0 |
| 13-Aug-2016 |
Mark Johnston <markj@FreeBSD.org> |
Initialize page busy lock state in vm_phys_add_page().
MFC after: 1 week
|
#
d9c9c81c |
| 21-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement.
This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted.
show more ...
|
#
876d357f |
| 11-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
62d70a81 |
| 09-Apr-2016 |
John Baldwin <jhb@FreeBSD.org> |
Add more fine-grained kernel options for NUMA support.
VM_NUMA_ALLOC is used to enable use of domain-aware memory allocation in the virtual memory system. DEVICE_NUMA is used to enable affinity rep
Add more fine-grained kernel options for NUMA support.
VM_NUMA_ALLOC is used to enable use of domain-aware memory allocation in the virtual memory system. DEVICE_NUMA is used to enable affinity reporting for devices such as bus_get_domain().
MAXMEMDOM must still be set to a value greater than for any NUMA support to be effective. Note that 'cpuset -gd' always works if MAXMEMDOM is enabled and the system supports NUMA.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5782
show more ...
|