[dpdk-dev] Api in dpdk to get total free physical memory

Venumadhav Josyula vjosyula at gmail.com
Thu Mar 8 22:36:41 CET 2018


Hi All,



Like ‘rte_eal_get_physmem_size’ api to the total size of the physical
memory. Is there an API to get to get total free memory physical memory
available ?



We want such API we are planning to implement such API for the same



/* get the total size of memory */

uint64_t

rte_eal_get_physmem_free(int socket_id)

{

const struct rte_mem_config *mcfg;

unsigned i = 0;

uint64_t total_len = 0;



/* get pointer to global configuration */

mcfg = rte_eal_get_configuration()->mem_config;



for (i=0; i<RTE_MAX_MEMSEG; i++) {

if (mcfg->free_memseg[i].addr == NULL)

break;



if (mcfg->free_memseg[i].len == 0)

continue;



/* bad socket ID */

if (socket_id != SOCKET_ID_ANY &&

mcfg->free_memseg[i].socket_id != SOCKET_ID_ANY &&

socket_id != mcfg->free_memseg[i].socket_id)

continue;



total_len += mcfg->free_memseg[i].len;

}



return total_len;

}



Thanks,

Regards

Venu


More information about the dev mailing list