DPDK usage discussions
 help / color / mirror / Atom feed
From: "Huangliming (EulerOS PDT)" <huangliming5@huawei.com>
To: "users@dpdk.org" <users@dpdk.org>
Subject: [dpdk-users] some questions about the primary/secondary process of dpdk hugepage memory
Date: Mon, 11 May 2020 13:59:07 +0000	[thread overview]
Message-ID: <e483466231ec439bb1bc7ad7b9a0fd1a@huawei.com> (raw)

Hello, I have some questions about the primary/secondary process of dpdk hugepage memory.

1、I have a program that calls select (means fd < 1024), and the hugepage memory in dpdk is paged mapped,
which makes the program FD easily exceed 1024. I noticed that there was a parameter "-- single file segments",
but for some reason, I used the "―legacy-mem" mode, and "-- single file segments" didn't seem to work
under "-- legacy MEM". Is there any way to solve the problem of excessive FD?

I guess the maped fd is used to lock files in the "memory hotplug" mode, and I don't find the use of keeping fd
in the “--legacy-mem”mode.

2、I refer to dpdk primary/secondary process mode, and develop primary process A and secondary process B
to share large page memory, Slave process B may run multiple. So my question is:

a、  If main process A(or B) exits abnormally, will program A(or B) have memory leak?

b、  If main process A(or B) exits abnormally, can I restart program A(or B)normally to get shared

memory without affecting my entire application?

I have done some practice and found that when secondary B is running normally, the primary process A
restarts with an error,. The error is as follows:

EAL: Detected 128 lcore(s)
EAL: Detected 4 NUMA nodes
[New Thread 0xffffbf333900 (LWP 6210)]
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
[New Thread 0xffffbeb32900 (LWP 6212)]
EAL: Probing VFIO support...
EAL: VFIO support initialized
[New Thread 0xffffbe331900 (LWP 6882)]
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL:   probe driver: 19e5:1822 net_hinic
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 19e5:1822 net_hinic
EAL: PCI device 0000:05:00.0 on NUMA socket 0
EAL:   probe driver: 19e5:1822 net_hinic
EAL: PCI device 0000:06:00.0 on NUMA socket 0
EAL:   probe driver: 19e5:1822 net_hinic
EAL:   using IOMMU type 1 (Type 1)
HINIC: Initializing pf hinic-0000:06:00.0 in primary process
HINIC: Device hinic-0000:06:00.0 hwif attribute:
HINIC: func_idx:3, p2p_idx:3, pciintf_idx:0, vf_in_pf:0, ppf_idx:0, global_vf_id:195, func_type:0
HINIC: num_aeqs:4, num_ceqs:4, num_irqs:32, dma_attr:2
HINIC: Dma addr:0x215f738000 already in hash table, error:0, mz_name:hinic-0000:06:00.0_1
HINIC: Allocate pages for eq failed
HINIC: Init aeq 0 failed
HINIC: Initialize aeqs failed, rc: -12
HINIC: Init aeqs failed, nic_dev:hinic-0000:06:00.0, error:-12
HINIC: Free leaked dma_addr:0x11f939fb8, mz:
EAL: Memzone is not allocated
HINIC: Free leaked dma_addr:0x11f93acb8, mz:
EAL: Memzone is not allocated
HINIC: Free leaked dma_addr:0x11f93ae68, mz:
......
HINIC: Free leaked dma_addr:0x11f93a318, mz:
EAL: Memzone is not allocated
HINIC: Create nic device failed, nic_dev:hinic-0000:06:00.0
HINIC: Initializing hinic-0000:06:00.0 in primary failed
EAL: Releasing pci mapped resource for 0000:06:00.0
EAL: Calling pci_unmap_resource for 0000:06:00.0 at 0x500600000
EAL: Calling pci_unmap_resource for 0000:06:00.0 at 0x500620000
EAL: Calling pci_unmap_resource for 0000:06:00.0 at 0x500628000
EAL: Requested device 0000:06:00.0 cannot be used

3、In addition, I noticed that a new function of 18.11 is to support external allocated hugepage memory.
Maybe I can implement the above requirements in the application layer based on this feature, But I didn't
find a detailed reference on using external memory.

Thanks

Huang liming


                 reply	other threads:[~2020-05-11 13:59 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=e483466231ec439bb1bc7ad7b9a0fd1a@huawei.com \
    --to=huangliming5@huawei.com \
    --cc=users@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).