hi, there is a repeatable test failure in test_memzone when running dpdk-test.exe --no-huge for memzone_autotest
it's clear why the test fails but what isn't clear if what rte_memzone_reserve is doing when provided an invalid socket id is sensible or not. as a matter of luck the system i'm using to test is a single socket system and as a result has only socket_id 0. the test however tries to use rte_memzone_reserve with a socket_id of 1 which is not a valid socket_id on the system. memzone3 = rte_memzone_reserve(TEST_MEMZONE_NAME("testzone3"), 1000, 1, 0); ^ socket_id (to repeat just make it invalid) the parameter documentation provided for reference. * @param socket_id * The socket identifier in the case of * NUMA. The value can be SOCKET_ID_ANY if there is no NUMA * constraint for the reserved zone. of interest is should rte_memzone_reserve fail when provided a completely invalid socket_id? when running with --no-huge it does not because when --no-huge the socket_id no matter the value is silently re-mapped to SOCKET_ID_ANY though without --no-huge if a completely garbage socket_id were provided it seems the allocation would fail. so you get different behavior for an invalid socket_id depending on --no-huge vs with. if (!rte_eal_has_hugepages() && socket_id < RTE_MAX_NUMA_NODES) socket_id = SOCKET_ID_ANY; the test later fails at this check. where it compares the memzone3 socket_id to what was used in the call to rte_memzone_reserve. if (memzone3 != NULL && memzone3->socket_id != 1) return -1; ^ SOCKET_ID_ANY if --no-huge if the allocation had failed, the test would pass instead of failing at this point. so what's wrong here? the test should be changed to expect different behavior with --no-huge vs huge or should rte_memzone_reserve be explicitly requiring SOCKET_ID_ANY instead of re-mapping invalid socket id? if it isn't the test that is wrong then a compatibility discussion is of interest but i'm avoiding that until someone confirms the intended design/behavior. thanks