NUMA balancing: optimize page placement for memory tiering system
With the advent of various new memory types, some machines will have multiple types of memory, e.g. DRAM and PMEM (persistent memory). The memory subsystem of these machines can be called memory tiering system, because the performance of the different types of memory are usually different. In such system, because of the memory accessing pattern changing etc, some pages in the slow memory may become hot globally. So in this patch, the NUMA balancing mechanism is enhanced to optimize the page placement among the different memory types according to hot/cold dynamically. In a typical memory tiering system, there are CPUs, fast memory and slow memory in each physical NUMA node. The CPUs and the fast memory will be put in one logical node (called fast memory node), while the slow memory will be put in another (faked) logical node (called slow memory node). That is, the fast memory is regarded as local while the slow memory is regarded as re...
Showing
- Documentation/admin-guide/sysctl/kernel.rst 20 additions, 9 deletionsDocumentation/admin-guide/sysctl/kernel.rst
- include/linux/mmzone.h 1 addition, 0 deletionsinclude/linux/mmzone.h
- include/linux/sched/sysctl.h 10 additions, 0 deletionsinclude/linux/sched/sysctl.h
- kernel/sched/core.c 17 additions, 4 deletionskernel/sched/core.c
- kernel/sysctl.c 1 addition, 1 deletionkernel/sysctl.c
- mm/migrate.c 14 additions, 2 deletionsmm/migrate.c
- mm/page_alloc.c 2 additions, 1 deletionmm/page_alloc.c
- mm/vmscan.c 5 additions, 1 deletionmm/vmscan.c
Please register or sign in to comment