<div id="mailbox-conversation"><div style="font-family:微软雅黑;font-size:14px;color:#000000"></div><div><blockquote class="gmail_quote"><div id="mailbox-conversation"><div style="font-family: 微软雅黑;font-size: 14.0px;color: #000000;"><div>Hi</div><div>I am confusing about the "no-huge" option of DPDK 21.11.</div><div>The dpdk usage said: --no-huge:Use malloc instead of hugetlbfs.</div><div>But when I check the EAL source code, I found some code piece like this:</div><div>It's look like "no-huge" option will lead dpdk use <span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">memfd_create--><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">ftruncate--><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">mmap to reserve memory</span></span></span></div><div><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">and then provide to application with rte_malloc.</span></span></span></div><div><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">Am I right?</span></span></span></div><div><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;">If so, what the "malloc" in "use malloc instead of hugelbfs" refer to?</span></span></span></div><div><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><span style="color: #000000;font-family: 微软雅黑;font-size: 14.0px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 22.4px;orphans: auto;text-align: start;text-indent: 0.0px;text-transform: none;white-space: normal;widows: 1;word-spacing: 0.0px;-webkit-text-stroke-width: 0.0px;display: inline;float: none;"><br></span></span></span></div><div>EAL_memory.c</div><div>static int eal_legacy_hugepage_init(void){</div><div>....</div><div> if (internal_conf->no_hugetlbfs) {<br>....<br>#ifdef MEMFD_SUPPORTED<br>  /* create a memfd and store it in the segment fd table */<br>  memfd = memfd_create("nohuge", 0);<br>......</div><div>   /* we got an fd - now resize it */<br>   if (ftruncate(memfd, internal_conf->memory) < 0) {<br>.....</div><div>    fd = memfd;<br>    flags = MAP_SHARED;   }<br>....<br>  prealloc_addr = msl->base_va;<br>  addr = mmap(prealloc_addr, mem_sz, PROT_READ | PROT_WRITE,<br>    flags | MAP_FIXED, fd, 0);</div><div>...<br></div><div><br></div><div><div id="mailbox-conversation"><br></div></div></div></div></blockquote></div></blockquote></div>