[dpdk-dev] [PATCH v4 10/17] malloc: fix the issue of SOCKET_ID_ANY
Olivier MATZ
olivier.matz at 6wind.com
Sun Feb 8 21:00:52 CET 2015
Hi,
On 02/02/2015 03:02 AM, Cunming Liang wrote:
> Add check for rte_socket_id(), avoid get unexpected return like (-1).
>
> Signed-off-by: Cunming Liang <cunming.liang at intel.com>
> ---
> lib/librte_malloc/malloc_heap.h | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_malloc/malloc_heap.h b/lib/librte_malloc/malloc_heap.h
> index b4aec45..a47136d 100644
> --- a/lib/librte_malloc/malloc_heap.h
> +++ b/lib/librte_malloc/malloc_heap.h
> @@ -44,7 +44,12 @@ extern "C" {
> static inline unsigned
> malloc_get_numa_socket(void)
> {
> - return rte_socket_id();
> + unsigned socket_id = rte_socket_id();
> +
> + if (socket_id == (unsigned)SOCKET_ID_ANY)
> + return 0;
> +
> + return socket_id;
> }
>
> void *
>
The documentation off rte_malloc_socket() says:
@param socket
NUMA socket to allocate memory on. If SOCKET_ID_ANY is used, this
function will behave the same as rte_malloc().
void *
rte_malloc_socket(const char *type, size_t size, unsigned align, int
socket);
Your patch changes the behavior of rte_malloc() without explaining
why, and the documentation becomes wrong.
Can you explain why you need this change?
Regards,
Olivier
More information about the dev
mailing list