<html>
    <head>
      <base href="https://bugs.dpdk.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8" class="bz_new_table">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - dpdk mempool creation is resulting into lot of memory getting wasted"
   href="https://bugs.dpdk.org/show_bug.cgi?id=1525">1525</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>dpdk mempool creation is resulting into lot of memory getting wasted
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DPDK
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>20.11
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>core
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dev@dpdk.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>sandipchhikara@gmail.com
          </td>
        </tr>

        <tr>
          <th>Target Milestone</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div class="bz_comment_block">
          <pre class="bz_comment_text">We are using rte_mempool_op_populate_helper for creating dpdk mempool.  Memory
is allocated from 1GB huge page and passed to this function. It is observed
that rte_mempool_op_populate_helper  function is calculating page size as 4K
and as MEMPOOL_F_NO_IOVA_CONTIG is not specified, so it don't place objects
across pages resulting into lot of memory wastage and creation of pool which is
lesser in size then required.
rte_mempool_op_calc_mem_size_default is used to calculate how much memory is
required for the pool. 

If it is user application, which is working on virtual memory (No driver
accessing physical memory directly), whether it would be fine to enable flag
MEMPOOL_F_NO_IOVA_CONTIG. 

We have object of 712 bytes, (final memory for each object is becoming 812
bytes after accounting header and trailer etc).
We are creating 2500000 objects in pool, allocating 2 GB (1 GB huge pages)
memory for the same, but after placing 4 objects in one page, it starts using
next page as it is wrongly finding that page size is 4K.
          </pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
      <div itemscope itemtype="http://schema.org/EmailMessage">
        <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
          
          <link itemprop="url" href="https://bugs.dpdk.org/show_bug.cgi?id=1525">
          <meta itemprop="name" content="View bug">
        </div>
        <meta itemprop="description" content="Bugzilla bug update notification">
      </div>
    </body>
</html>