On Mon, Mar 28, 2022 at 11:04:36PM -0700, Tyler Retzlaff wrote: > 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
ping? does the community have an opinion here?