[dpdk-dev] [PATCH 10/12] vhost: support to kick in secondary process
jianfeng.tan at intel.com
Fri Sep 22 04:30:21 CEST 2017
> -----Original Message-----
> From: Yuanhan Liu [mailto:yliu at fridaylinux.org]
> Sent: Thursday, September 21, 2017 5:18 PM
> To: Tan, Jianfeng
> Cc: dev at dpdk.org; maxime.coquelin at redhat.com; mtetsuyah at gmail.com
> Subject: Re: [PATCH 10/12] vhost: support to kick in secondary process
> On Thu, Sep 21, 2017 at 03:04:39PM +0800, Tan, Jianfeng wrote:
> > >On Fri, Aug 25, 2017 at 09:40:50AM +0000, Jianfeng Tan wrote:
> > >>To support kick in secondary process, we propose callfd_pri and
> > >>kickfd_pri to store the value in primary process; and by a new
> > >>API, rte_vhost_set_vring_effective_fd(), we can set effective
> > >>callfd and kickfd which can be used by secondary process.
> > >>
> > >>Note in this case, either primary process or the secondary process
> > >>can kick the frontend; that is, they cannot kick a vring at the
> > >>same time.
> > >Since only one can work, why not just overwriting the fd? Say, you
> > >could introudce some APIs like "rte_vhost_set_vring_callfd", then
> > >you don't need to introduce few more fields like "callfd_pri".
> > That cannot address the below case:
> > 1. Primary starts;
> > 2. Secondary one starts; (if we overwrite it without storing it in some
> > other fields)
> > 3. Secondary one exits;
> > 4. Secondary two starts. (primary cannot share the fd with this secondary
> > process now, as this fd does not mean anything to the primary process)
> I was thinking that those fds will be retrieved by the primary process
> once? So thsoe it got at beginning are still valid?
Yes, the FDs are valid to primary process at step 1. But After overwriting in step 2, those FDs are not valid to primary.
More information about the dev