DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 898] Memory leak during interprocess communication.
Date: Thu, 09 Dec 2021 13:14:37 +0000	[thread overview]
Message-ID: <bug-898-3@http.bugs.dpdk.org/> (raw)

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.Rogozhin@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.

                 reply	other threads:[~2021-12-09 13:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-898-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).