Continued from the previous article: Detailed analysis of memory management related configuration items in the Linux kernel 11
24. Support DMA zone
There are only two states of selected and unselected for this item, and the default is selected.
This item has no help information in Kconfig.
25. Support DMA32 zone
This is selected by default.
This item has no help information in Kconfig.
26. Device memory (pmem, HMM, etc...) hotplug support
The corresponding configuration variable is: CONFIG_ZONE_DEVICE.
There are only two states of selected and unselected for this item, and the default is selected. This item will appear only when the current “Memory hotplug
” item is selected.
The kernel source code of this item is explained in detail as:
Device memory hotplug support allows for establishing pmem,
or other device driver discovered memory regions, in the
memmap. This allows pfn_to_page() lookups of otherwise
"device-physical" addresses which is needed for using a DAX
mapping in an O_DIRECT operation, among other things.
Device memory hotplug support allows the creation of pmem, or other memory regions discovered by device drivers, in memmap. This allows pfn_to_page() to look up additional "device physical" addresses needed to use DAX mappings in O_DIRECT operations.
Twenty-seven, Unaddressable device memory (GPU memory, ...)
The corresponding configuration variable is: CONFIG_DEVICE_PRIVATE.
There are only two states of selected and unselected for this item, and the default is selected. This item will appear only when the current item "Memory hotplug
" and the previous item "Device memory (pmem, HMM, etc...) hotplug support" are selected at the same time.
The kernel source code of this item is explained in detail as:
Allows creation of struct pages to represent unaddressable device
memory; i.e., memory that is only accessible from the device (or
group of devices). You likely also want to select HMM_MIRROR.
Allows the creation of structural pages to represent non-resizable device memory; for example, memory that can only be accessed from a device (or group of devices). You may also wish to select HMM_MIRROR.