[dpdk-dev] huge page didn't get freed when dpdk-app exit(or killed)
Du, Fan
fan.du at intel.com
Mon Jun 15 10:46:49 CEST 2015
Hi,
I play OpenvSwitch dpdk, when ovs-vswitchd got killed, it won't free up any allocated huge pages, shown by below:
# tail /proc/meminfo
HardwareCorrupted: 0 kB
AnonHugePages: 106496 kB
HugePages_Total: 8
HugePages_Free: 6
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
DPDK setup hugepage by below steps, in function rte_eal_hugepage_init
* 1. map N huge pages in separate files in hugetlbfs
* 2. find associated physical addr
* 3. find associated NUMA socket ID
* 4. sort all huge pages by physical address
* 5. remap these N huge pages in the correct order
* 6. unmap the first mapping
* 7. fill memsegs in configuration with contiguous zones
So my env shows below when allocated 2G huge pages.
# ls /dev/hugepages/
libvirt rtemap_4 rtemap_7
So in scenario where dpdk app is stop, but hugepage will be used by other non-dpdk app,
Would current dpdk huge page behavior(not freed huge page when app exited) be a problem?
I found out this patch: http://dpdk.org/dev/patchwork/patch/993/ tries to provide an interface,
It didn't get merged with additional implementation modification.
Then is there any follow ups for this issue? A pointer will be much appreciated!
Thanks!
More information about the dev
mailing list