[dpdk-dev] [PATCH v4 05/24] eal: support mp task be invoked in a separate task

Thomas Monjalon thomas at monjalon.net
Tue Jun 26 11:24:18 CEST 2018


26/06/2018 11:02, Burakov, Anatoly:
> On 26-Jun-18 8:08 AM, Qi Zhang wrote:
> > We know the limitation that sync IPC can't be invoked in mp handler
> > itself which will cause deadlock, the patch introduce new API
> > rte_eal_mp_task_add to support mp handler be delegated in a separate
> > task.
> > 
> > Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
> > ---
> 
> I would really like to find another solution to this problem. Creating a 
> new thread per hotplug request seems like an overkill - even more so 
> than having two threads. Creating a new thread potentially while the 
> application is working may have other implications (e.g. there's a 
> non-zero amount of time between thread created and thread affinitized, 
> which may disrupt hotpaths).
> 
> It seems to me that the better solution would've been to leave the IPC 
> thread in place. There are two IPC threads in the first place because 
> there was a circular dependency between rte_malloc and alarm API. My 
> patch fixes that - so how about we remove *one* IPC thread, but leave 
> the other one in place?
> 
> Thomas, any thoughts? (quick description - hotplug needs IPC, and 
> hotplug may need to allocate memory, which also needs IPC, which will 
> cause a deadlock if IPC is one thread)

We can keep one IPC thread until we find a better solution.






More information about the dev mailing list