Mempool Mapping#
The platform_config.h
file shows memory pool (mempool) mapping between virtual machines, services, and servers in the AV PCT.
File path for Thor
<nv_sdk_name_foundation>/platform-config/hardware/nvidia/platform/t264/automotive/pct/drive_av/platform_config.h
Mempool Size for Storage Server#
The storage server provides the following configurable parameters in the platform_config.h
file for specifying the mempool size for UFS, SDMMC, and
QSPI, which can be configured to reduce memory consumption on memory-constrained
platforms:
/* Size of Mempool for UFS virtual partitions */
ufs_vsp_mempool_size_kb
/* Size of Mempool for SDMMC virtual partitions */
sdmmc_vsp_mempool_size_kb
/* Size of Mempool for QSPI virtual partitions */
qspi_vsp_mempool_size_kb
Note
If these parameters are not specified, then the default mempool size is 8MB for QSPI, 8MB for SDMMC and 512KB for UFS.
The mempool size affects the number of storage requests that can be queued from the Guest OS Storage client driver to the storage server. If the mempool size is reduced, it can reduce the number of requests that can be queued to the storage server. As a result, it might affect the storage throughput.
The mempool size should be configured after running experiments to confirm that the storage throughput is acceptable for all the storage use cases of that platform.
Mempool Size for VI Memory Pool#
The VI memory pool provides the configurable .size parameter for its mempool size in the platform_config.h
file. This parameter specifies the total amount of memory available for image capture buffer allocation and should be configured after the total allocation required for image capture has been confirmed:
.mempools = {
[CAMERA_VM1_M_3] = { .peers = {GID_GUEST0_VM, GID_GUEST0_VM}, .size = (SZ_1MB * 1024), .align = (SZ_1MB * 2) },
}
Note
If this parameter is not specified, then the default configuration creates a 1GB VI memory pool.