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

Burakov, Anatoly anatoly.burakov at intel.com
Thu Oct 5 11:02:21 CEST 2017


On 05-Oct-17 6:56 AM, Venumadhav Josyula wrote:
> 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
> 
Hi Venu,

I don't think there is such an API, so you're welcome to submit a patch.

-- 
Thanks,
Anatoly


More information about the dev mailing list