DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] some questions about the primary/secondary process of dpdk hugepage memory
@ 2020-05-11 13:59 Huangliming (EulerOS PDT)
  0 siblings, 0 replies; only message in thread
From: Huangliming (EulerOS PDT) @ 2020-05-11 13:59 UTC (permalink / raw)
  To: users

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-11 13:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 13:59 [dpdk-users] some questions about the primary/secondary process of dpdk hugepage memory Huangliming (EulerOS PDT)

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).