Hi Brijesh, 2021-10-11 10:25 (UTC-0700), Brijesh Singh: > Hi there, > We are seeing high mmap time for 1G hugepage during eal memalloc init. Most > time is spent for clearing page, each 4k size.. > It's not clear to me why clear huge pages is called? The code mmaps rte_map > file with map_populate and map_shared this shouldn't cause page zeroing. > I am curious to know how zeroing is forced?
The kernel clears all anonymous memory before handling it to the user space. It is done for security: there may be sensitive data left by previous users of those pages. There is a pending patchset that aims to solve your issue: https://mails.dpdk.org/archives/dev/2021-October/223723.html Please see commit messages for some more explanations. > As an alternative, I would like to memset from userspace. In my experiment > we are noticing memset 1G file is faster that clear huge pages. Can you share the numbers? From my experiments, mmap() is just a little longer then memset() of the same amount of memory, apparently because the kernel has some extra work to set up the mapping.