> -----Original Message----- > From: David Marchand <david.march...@redhat.com> > Sent: Thursday, November 4, 2021 8:30 AM > To: 赖香武 <15310488...@163.com> > Cc: users <users@dpdk.org>; Burakov, Anatoly > <anatoly.bura...@intel.com>; Richardson, Bruce > <bruce.richard...@intel.com> > Subject: Re: Aboud DPDK Multi-Process > > On Thu, Nov 4, 2021 at 9:21 AM 赖香武 <15310488...@163.com> wrote: > > > > Hello, I have a question about dpdk multi-process. After starting the > > primary process and the secondary process, when the current primary > > process exits, how does the secondary process become a new primary > > process to make the program continue? Hope to get your answer, thank > > you! > > Not sure why you need this, but DPDK won't do for you. > > The process type is decided once at DPDK init, and that is something that > affects how your program behaves after. > Switching type while running would break assumptions in the DPDK drivers > and libraries. > > One thing that comes to mind, is that you could try to call > rte_eal_cleanup() and call rte_eal_init() again. > This is probably something that is not tested (so I'd expect issues, maybe > leaks etc..). > > But then, you probably want to restart your process entirely.
[[AB]] Calling rte_eal_init() twice would be a terrible idea, because not everything (not even remotely!) gets cleaned up with rte_eal_cleanup(), and a lot of stuff is allocated statically. So, as far as I'm concerned, this usage scenario is considered to be unsupported. > > > -- > David Marchand