[dpdk-dev] Use rte_malloc in application

Stefan Puiu stefan.puiu at gmail.com
Thu Aug 3 15:29:44 CEST 2017


Hi,

This is not strictly DPDK-related, but still...

On Thu, Aug 3, 2017 at 9:12 AM, Rohit Saini (Stellus)
<rohit.saini at stellus.com> wrote:
> With below code, I am getting this warning.
>
> warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>
> my_node_t *data_ptr = (my_node_t *) rte_malloc(NULL, sizeof(my_node_t), 0);

I think the warning concerns the first argument passed to rte_malloc.
NULL probably expands to 0 (at least that seems to happen in C++), so
it gets treated as an int instead of a pointer. In C++11, there's
nullptr for this; or you could simply use a non-NULL string.

HTH,
Stefan.

>
> Thanks,
> Rohit
>
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Rohit Saini (Stellus)
> Sent: Thursday, August 03, 2017 11:28 AM
> To: 'dev at dpdk.org' <dev at dpdk.org>
> Subject: [dpdk-dev] Use rte_malloc in application
>
> Hi,
> I have a use case in my application where I need to implement my own memory manager, rather than doing malloc/free everytime to kernel.
> Instead of writing my own memory manager, I am thinking to use dpdk rte_malloc or rte_mempool. Please let me know if this is a good idea.
>
> Also,
>
> my_node_t *data_ptr = (my_node_t *) (uintptr_t) rte_malloc(NULL, sizeof(my_node_t), 0);
>
> data_ptr is pointing to some invalid memory.  Am I doing anything wrong here?
>
>
> Thanks,
> Rohit


More information about the dev mailing list