DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Using DPDK in a multiprocess environment
@ 2014-04-08 15:12 Etai Lev Ran
  2014-04-08 15:50 ` Shaw, Jeffrey B
  0 siblings, 1 reply; 6+ messages in thread
From: Etai Lev Ran @ 2014-04-08 15:12 UTC (permalink / raw)
  To: dev

Hi,

 

I'd like to split DPDK application functionality into a setup (primary)
process and business logic (secondary) processes.

The secondary processes access the hardware queues directly (exclusive queue
per process) and not through software rings.

 

I'm running into an initialization problem:

-          The primary starts and sets up memory and ports and then goes to
sleep waiting for termination signal

-          Secondary processes fail when probing the PCI bus for devices
(required, otherwise I get 0 ports visible in the secondary)

 

The error is directly related to the secondary failing to get the *same*
virtual address for mmap'ing the UIO device fd's.

The reason is that the secondary processes has considerably more shared
objects loaded and some of these are

loaded and mapped into addresses which the primary used to map UIO fd's.

The pci_map_resource()  (linuxapp/eal_pci.c) code explicitly requires that
the secondary processes get the same mmap'ed

address as given to the primary.

 

1)      Is this behavior (same mmap address) required?

2)      If so, is there a workaround to cause PCI areas of UIO devices to be
mapped to the same location in arbitrary processes?

 

The samples work just fine since all primary and secondary processes have
similar set and load order for .so's

 

Using  v1.6 on Ubuntu 12.04 64b, ixgbe devices, 1GB hugepages, ASLR
disabled.

 

Thanks,

Etai

 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-04-10 10:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-08 15:12 [dpdk-dev] Using DPDK in a multiprocess environment Etai Lev Ran
2014-04-08 15:50 ` Shaw, Jeffrey B
2014-04-08 16:07   ` elevran
2014-04-08 17:00     ` Rogers, Gerald
2014-04-09  9:25       ` Richardson, Bruce
2014-04-10 10:26         ` Etai Lev Ran

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