{
size_t obj_per_page, pg_num, pg_sz;
+ if (total_elt_sz == 0)
+ return 0;
+
if (pg_shift == 0)
return total_elt_sz * elt_num;
/* init the mempool structure */
mp = mz->addr;
- memset(mp, 0, sizeof(*mp));
+ memset(mp, 0, MEMPOOL_HEADER_SIZE(mp, cache_size));
ret = snprintf(mp->name, sizeof(mp->name), "%s", name);
if (ret < 0 || ret >= (int)sizeof(mp->name)) {
rte_errno = ENAMETOOLONG;
if (free == 0) {
if (cookie != RTE_MEMPOOL_HEADER_COOKIE1) {
- rte_log_set_history(0);
RTE_LOG(CRIT, MEMPOOL,
"obj=%p, mempool=%p, cookie=%" PRIx64 "\n",
obj, (const void *) mp, cookie);
hdr->cookie = RTE_MEMPOOL_HEADER_COOKIE2;
} else if (free == 1) {
if (cookie != RTE_MEMPOOL_HEADER_COOKIE2) {
- rte_log_set_history(0);
RTE_LOG(CRIT, MEMPOOL,
"obj=%p, mempool=%p, cookie=%" PRIx64 "\n",
obj, (const void *) mp, cookie);
} else if (free == 2) {
if (cookie != RTE_MEMPOOL_HEADER_COOKIE1 &&
cookie != RTE_MEMPOOL_HEADER_COOKIE2) {
- rte_log_set_history(0);
RTE_LOG(CRIT, MEMPOOL,
"obj=%p, mempool=%p, cookie=%" PRIx64 "\n",
obj, (const void *) mp, cookie);
tlr = __mempool_get_trailer(obj);
cookie = tlr->cookie;
if (cookie != RTE_MEMPOOL_TRAILER_COOKIE) {
- rte_log_set_history(0);
RTE_LOG(CRIT, MEMPOOL,
"obj=%p, mempool=%p, cookie=%" PRIx64 "\n",
obj, (const void *) mp, cookie);