Detailed analysis of memory management related configuration items in the Linux kernel 12

 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.

Guess you like

Origin blog.csdn.net/phmatthaus/article/details/131181278