Hi Ilya,

> -----Original Message-----
> From: Ilya Maximets <[email protected]>
> Sent: Tuesday, September 21, 2021 5:36 AM
> To: Hu, Jiayu <[email protected]>; Ilya Maximets <[email protected]>;
> Pai G, Sunil <[email protected]>; [email protected]
> Cc: Richardson, Bruce <[email protected]>; Mcnamara, John
> <[email protected]>; [email protected]
> Subject: Re: [ovs-dev] [PATCH RFC dpdk-latest V2 0/1] Enable vhost async
> API's in OvS.
> 
> On 9/16/21 17:12, Hu, Jiayu wrote:
> > Hi Ilya,
> >
> >> -----Original Message-----
> >> From: Ilya Maximets <[email protected]>
> >> Sent: Thursday, September 16, 2021 1:27 AM
> >> To: Pai G, Sunil <[email protected]>; [email protected]
> >> Cc: Richardson, Bruce <[email protected]>; Mcnamara, John
> >> <[email protected]>; [email protected]; Hu, Jiayu
> >> <[email protected]>; [email protected]
> >> Subject: Re: [ovs-dev] [PATCH RFC dpdk-latest V2 0/1] Enable vhost
> >> async API's in OvS.
> >>
> >> On 9/7/21 14:00, Sunil Pai G wrote:
> >>> This series brings in the new asynchronous vHost API's in DPDK to OVS.
> >>> With the asynchronous framework, vHost-user can offload the memory
> >>> copy operation to DPDK DMA-dev based enabled devices like IntelĀ®
> >>> QuickData Technology without blocking the CPU.
> >>
> >> Copying here what I accidentally sent in reply to v1.
> >> ---
> >>
> >> As said in reply to the 'deferral of work' patch-set, OVS is
> >> synchronous and it is fine, because network devices are asynchronous by
> their nature.
> >> OVS is not blocked by memory copies, because these are handled by DMA
> >> configured and handled by device drivers. This patch adds DMA
> >> handling to
> >
> > As you said, network devices are asynchronous by nature and OVS is
> unaware of it.
> > For vhost, do you suggest that OVS shouldn't be aware of if vhost is
> asynchronous?
> > In other words, OVS shouldn't change code to asynchronous style. Is that
> correct?
> 
> Yes.  That's correct.

The way that OVS uses vhost is more like implementing a VirtIO backend driver
in OVS. It makes vhost port not the same as physical net devices. For a driver, 
it
may be fine to handle async logics, like clearing in-flight packets by DMA, IMO.
The reason why no asynchronous in OVS vhost is not clear to me.

From my understanding, OVS mainly handles three things when integrates with
asynchronous vhost. The first is DMA related operations (e.g., submit copy), the
second is DMA assignment (current implementation is assigning DMA engines to
each pmd thread), and the last is to handle async packets, like clearing 
inflight
packets when vring is disabled. I am wondering which one blocks OVS to leverage
asynchronous vhost? Or none of the three?

Thanks,
Jiayu

> >
> > Thanks,
> > Jiayu
> >
> >> vhost, making it essentially a physical device at some extent, but
> >> for some reason driver for that is implemented inside OVS.  High
> >> level application should not care about memory copies inside the
> >> physical device and DMA configuration, but the code in this patch
> >> looks very much as parts of a specific device driver.
> >>
> >> Implementation of this feature belongs to vhost library, which is a
> >> driver for this (now) physical device.  This way it can be consumed
> >> by OVS or any other DPDK application without major code changes.
> >>
> >> Best regards, Ilya Maximets.

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to