https://bugs.dpdk.org/show_bug.cgi?id=898
Bug ID: 898 Summary: Memory leak during interprocess communication. Product: DPDK Version: 18.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: core Assignee: dev@dpdk.org Reporter: aleksey.rogoz...@infotecs.ru Target Milestone: --- Start any primary DPDK process. pktgen for example. Run any secondary process a large number of times, for example, in a loop. dpdk-procinfo for example. After some time, the number of memory segments used by the main process begins to increase and is not released until the main process ends. At begin: dpdk-procinfo -- -m EAL: Detected 12 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_12553_cdd87636c2be4 EAL: Probing VFIO support... EAL: PCI device 0000:03:00.0 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe eth_ixgbe_dev_init(): No TX queues configured yet. Using default TX function. EAL: PCI device 0000:03:00.1 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe eth_ixgbe_dev_init(): No TX queues configured yet. Using default TX function. EAL: PCI device 0000:07:00.0 on NUMA socket 0 EAL: probe driver: 8086:1533 net_e1000_igb EAL: PCI device 0000:08:00.0 on NUMA socket 0 EAL: probe driver: 8086:1533 net_e1000_igb ----------- MEMORY_SEGMENTS ----------- Segment 0-0: IOVA:0x706000000, len:2097152, virt:0x100200000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:10 Segment 0-1: IOVA:0x720e00000, len:2097152, virt:0x100400000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:11 Segment 0-2: IOVA:0x720c00000, len:2097152, virt:0x100600000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:12 Segment 0-3: IOVA:0x724a00000, len:2097152, virt:0x100800000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:13 Segment 0-4: IOVA:0x724800000, len:2097152, virt:0x100a00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:14 Segment 0-5: IOVA:0x82c200000, len:2097152, virt:0x100c00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:15 Segment 0-6: IOVA:0x82c000000, len:2097152, virt:0x100e00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:16 Segment 0-7: IOVA:0x721200000, len:2097152, virt:0x101000000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:17 Segment 4-0: IOVA:0xf67400000, len:2097152, virt:0x1100a00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:18 Segment 4-1: IOVA:0xfa3800000, len:2097152, virt:0x1100c00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:19 Segment 4-2: IOVA:0xf90e00000, len:2097152, virt:0x1100e00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:20 --------- END_MEMORY_SEGMENTS --------- ------------ MEMORY_ZONES ------------- Zone 0: name:<rte_eth_dev_data>, len:0x35840, virt:0x1003b1540, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 1: name:<RG_HT_fdir_0000:03:00.0>, len:0x80180, virt:0x100323780, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 2: name:<RG_HT_l2_tn_0000:03:00.0>, len:0x980, virt:0x1002a2ac0, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 3: name:<RG_HT_fdir_0000:03:00.1>, len:0x80180, virt:0x100210800, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 4: name:<RG_HT_l2_tn_0000:03:00.1>, len:0x980, virt:0x10020fbc0, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 5: name:<Capture_MZ_0>, len:0x400000, virt:0x100e00000, socket_id:0, flags:0 physical segments used: addr: 0x100e00000 iova: 0x82c000000 len: 0x200000 pagesz: 0x200000 addr: 0x101000000 iova: 0x721200000 len: 0x200000 pagesz: 0x200000 Zone 6: name:<Capture_MZ_1>, len:0x400000, virt:0x1100c00000, socket_id:1, flags:0 physical segments used: addr: 0x1100c00000 iova: 0xfa3800000 len: 0x200000 pagesz: 0x200000 addr: 0x1100e00000 iova: 0xf90e00000 len: 0x200000 pagesz: 0x200000 ---------- END_MEMORY_ZONES ----------- ------------- TAIL_QUEUES ------------- Tailq 0: qname:<RTE_LPM>, tqh_first:(nil), tqh_last:0x7ffff7fcd27c Tailq 1: qname:<RTE_LPM6>, tqh_first:(nil), tqh_last:0x7ffff7fcd2ac Tailq 2: qname:<RTE_ACL>, tqh_first:(nil), tqh_last:0x7ffff7fcd2dc Tailq 3: qname:<RTE_HASH>, tqh_first:0x100323700, tqh_last:0x10020fb40 Tailq 4: qname:<RTE_FBK_HASH>, tqh_first:(nil), tqh_last:0x7ffff7fcd33c Tailq 5: qname:<RTE_MEMBER>, tqh_first:(nil), tqh_last:0x7ffff7fcd36c Tailq 6: qname:<RTE_EVENT_RING>, tqh_first:(nil), tqh_last:0x7ffff7fcd39c Tailq 7: qname:<RTE_MEMPOOL>, tqh_first:(nil), tqh_last:0x7ffff7fcd3cc Tailq 8: qname:<RTE_RING>, tqh_first:0x1003a3940, tqh_last:0x100210580 Tailq 9: qname:<RTE_REORDER>, tqh_first:(nil), tqh_last:0x7ffff7fcd42c Tailq 10: qname:<RTE_KNI>, tqh_first:(nil), tqh_last:0x7ffff7fcd45c Tailq 11: qname:<VFIO_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x7ffff7fcd48c Tailq 12: qname:<UIO_RESOURCE_LIST>, tqh_first:0x1003e8e40, tqh_last:0x1002a0640 Tailq 13: qname:<VMBUS_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x7ffff7fcd4ec Tailq 14: qname:<RTE_LUADATA>, tqh_first:0x555555f793f0, tqh_last:0x555555f793f0 Tailq 15: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 16: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 17: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 18: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 19: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 20: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 21: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 22: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 23: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 24: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 25: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 26: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 27: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 28: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 29: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 30: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 31: qname:<>, tqh_first:(nil), tqh_last:(nil) ---------- END_TAIL_QUEUES ------------ After ~180 starts dpdk-procinfo -- -m EAL: Detected 12 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_14566_cde008f6f168c EAL: Probing VFIO support... EAL: PCI device 0000:03:00.0 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe eth_ixgbe_dev_init(): No TX queues configured yet. Using default TX function. EAL: PCI device 0000:03:00.1 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe eth_ixgbe_dev_init(): No TX queues configured yet. Using default TX function. EAL: PCI device 0000:07:00.0 on NUMA socket 0 EAL: probe driver: 8086:1533 net_e1000_igb EAL: PCI device 0000:08:00.0 on NUMA socket 0 EAL: probe driver: 8086:1533 net_e1000_igb ----------- MEMORY_SEGMENTS ----------- Segment 0-0: IOVA:0x706000000, len:2097152, virt:0x100200000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:10 Segment 0-1: IOVA:0x720e00000, len:2097152, virt:0x100400000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:11 Segment 0-2: IOVA:0x720c00000, len:2097152, virt:0x100600000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:12 Segment 0-3: IOVA:0x724a00000, len:2097152, virt:0x100800000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:13 Segment 0-4: IOVA:0x724800000, len:2097152, virt:0x100a00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:14 Segment 0-5: IOVA:0x82c200000, len:2097152, virt:0x100c00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:15 Segment 0-6: IOVA:0x82c000000, len:2097152, virt:0x100e00000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:16 Segment 0-7: IOVA:0x721200000, len:2097152, virt:0x101000000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:17 Segment 0-8: IOVA:0x721000000, len:2097152, virt:0x101200000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:18 Segment 0-9: IOVA:0x70b200000, len:2097152, virt:0x101400000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:19 Segment 0-10: IOVA:0x70b000000, len:2097152, virt:0x101600000, socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0 fd:20 Segment 4-0: IOVA:0xf67400000, len:2097152, virt:0x1100a00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:21 Segment 4-1: IOVA:0xfa3800000, len:2097152, virt:0x1100c00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:22 Segment 4-2: IOVA:0xf90e00000, len:2097152, virt:0x1100e00000, socket_id:1, hugepage_sz:2097152, nchannel:0, nrank:0 fd:23 --------- END_MEMORY_SEGMENTS --------- ------------ MEMORY_ZONES ------------- Zone 0: name:<rte_eth_dev_data>, len:0x35840, virt:0x1003b1540, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 1: name:<RG_HT_fdir_0000:03:00.0>, len:0x80180, virt:0x100323780, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 2: name:<RG_HT_l2_tn_0000:03:00.0>, len:0x980, virt:0x1002a2ac0, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 3: name:<RG_HT_fdir_0000:03:00.1>, len:0x80180, virt:0x100210800, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 4: name:<RG_HT_l2_tn_0000:03:00.1>, len:0x980, virt:0x10020fbc0, socket_id:0, flags:0 physical segments used: addr: 0x100200000 iova: 0x706000000 len: 0x200000 pagesz: 0x200000 Zone 5: name:<Capture_MZ_0>, len:0x400000, virt:0x100e00000, socket_id:0, flags:0 physical segments used: addr: 0x100e00000 iova: 0x82c000000 len: 0x200000 pagesz: 0x200000 addr: 0x101000000 iova: 0x721200000 len: 0x200000 pagesz: 0x200000 Zone 6: name:<Capture_MZ_1>, len:0x400000, virt:0x1100c00000, socket_id:1, flags:0 physical segments used: addr: 0x1100c00000 iova: 0xfa3800000 len: 0x200000 pagesz: 0x200000 addr: 0x1100e00000 iova: 0xf90e00000 len: 0x200000 pagesz: 0x200000 ---------- END_MEMORY_ZONES ----------- ------------- TAIL_QUEUES ------------- Tailq 0: qname:<RTE_LPM>, tqh_first:(nil), tqh_last:0x7ffff7fcd27c Tailq 1: qname:<RTE_LPM6>, tqh_first:(nil), tqh_last:0x7ffff7fcd2ac Tailq 2: qname:<RTE_ACL>, tqh_first:(nil), tqh_last:0x7ffff7fcd2dc Tailq 3: qname:<RTE_HASH>, tqh_first:0x100323700, tqh_last:0x10020fb40 Tailq 4: qname:<RTE_FBK_HASH>, tqh_first:(nil), tqh_last:0x7ffff7fcd33c Tailq 5: qname:<RTE_MEMBER>, tqh_first:(nil), tqh_last:0x7ffff7fcd36c Tailq 6: qname:<RTE_EVENT_RING>, tqh_first:(nil), tqh_last:0x7ffff7fcd39c Tailq 7: qname:<RTE_MEMPOOL>, tqh_first:(nil), tqh_last:0x7ffff7fcd3cc Tailq 8: qname:<RTE_RING>, tqh_first:0x1003a3940, tqh_last:0x100210580 Tailq 9: qname:<RTE_REORDER>, tqh_first:(nil), tqh_last:0x7ffff7fcd42c Tailq 10: qname:<RTE_KNI>, tqh_first:(nil), tqh_last:0x7ffff7fcd45c Tailq 11: qname:<VFIO_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x7ffff7fcd48c Tailq 12: qname:<UIO_RESOURCE_LIST>, tqh_first:0x1003e8e40, tqh_last:0x1002a0640 Tailq 13: qname:<VMBUS_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x7ffff7fcd4ec Tailq 14: qname:<RTE_LUADATA>, tqh_first:0x555555f793f0, tqh_last:0x555555f793f0 Tailq 15: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 16: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 17: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 18: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 19: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 20: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 21: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 22: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 23: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 24: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 25: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 26: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 27: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 28: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 29: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 30: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 31: qname:<>, tqh_first:(nil), tqh_last:(nil) ---------- END_TAIL_QUEUES ------------ If you continue to run the secondary process, then over time the hugepages will end. This behavior is observed in the 18.11.2, 18.11.11. -- You are receiving this mail because: You are the assignee for the bug.