mempool: fix panic on dump or audit
When doing a mempool dump or an audit, the application can panic because
the length of the cache is greater than the flush threshold, which is
seen as a fatal error. But this can temporarily happen when the mempool
is in use.
Fix the panic condition to abort only when the cache length is greater
than the array.
Fixes: ea5dd2744b
("mempool: cache optimisations")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
This commit is contained in:
parent
24fa59808d
commit
daeb7c7f41
@ -1167,7 +1167,7 @@ mempool_audit_cache(const struct rte_mempool *mp)
|
||||
for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
|
||||
const struct rte_mempool_cache *cache;
|
||||
cache = &mp->local_cache[lcore_id];
|
||||
if (cache->len > cache->flushthresh) {
|
||||
if (cache->len > RTE_DIM(cache->objs)) {
|
||||
RTE_LOG(CRIT, MEMPOOL, "badness on cache[%u]\n",
|
||||
lcore_id);
|
||||
rte_panic("MEMPOOL: invalid cache len\n");
|
||||
|
Loading…
Reference in New Issue
Block a user