mbox series

[RFC,0/1] vhost-add-DMADEV-support-for-async-datapath

Message ID 20210823095355.2478423-1-sunil.pai.g@intel.com (mailing list archive)
Headers show
Series vhost-add-DMADEV-support-for-async-datapath | expand

Message

Sunil Pai G Aug. 23, 2021, 9:53 a.m. UTC
Note to the reader:
-------------------
The intent of this patch is to explore possible different approaches
of async implementations.
Please consider this patch for discussions only and not for
merge/upstream.

This patch simplifies the vhost async datapath usability by
utilizing the generic DMADEV API's to perform packet copy.

Previously, it was required by the application to implement its
own DMA enabling logic making it difficult to adopt this feature.
Having a common implementation in vhost library allows
for easier adoption.

The usability of async datapath is enhanced by extending the
API's to include a DMADEV ID to be passed by the application.
This provides flexibility to applications to decide which DMADEV to be used.


Sunil Pai G (1):
  vhost: Add DMADEV support for async datapath.

 lib/vhost/meson.build       |   2 +-
 lib/vhost/rte_vhost_async.h |  55 +------
 lib/vhost/vhost.c           |  46 +++---
 lib/vhost/vhost.h           |  24 ++-
 lib/vhost/virtio_net.c      | 311 +++++++++++++++++++++++++++++++-----
 5 files changed, 316 insertions(+), 122 deletions(-)

Comments

Maxime Coquelin Aug. 30, 2021, 2:35 p.m. UTC | #1
Hi Sunil,

On 8/23/21 11:53 AM, Sunil Pai G wrote:
> Note to the reader:
> -------------------
> The intent of this patch is to explore possible different approaches
> of async implementations.
> Please consider this patch for discussions only and not for
> merge/upstream.

Thanks for sharing, that will indeed help to find the best solution.
I'm just wondering if you have the vhost example part of this rework, so
that we can understand what are the impacts on app side?

> This patch simplifies the vhost async datapath usability by
> utilizing the generic DMADEV API's to perform packet copy.
> 
> Previously, it was required by the application to implement its
> own DMA enabling logic making it difficult to adopt this feature.
> Having a common implementation in vhost library allows
> for easier adoption.
> 
> The usability of async datapath is enhanced by extending the
> API's to include a DMADEV ID to be passed by the application.
> This provides flexibility to applications to decide which DMADEV to be used.
> 
> 
> Sunil Pai G (1):
>   vhost: Add DMADEV support for async datapath.
> 
>  lib/vhost/meson.build       |   2 +-
>  lib/vhost/rte_vhost_async.h |  55 +------
>  lib/vhost/vhost.c           |  46 +++---
>  lib/vhost/vhost.h           |  24 ++-
>  lib/vhost/virtio_net.c      | 311 +++++++++++++++++++++++++++++++-----
>  5 files changed, 316 insertions(+), 122 deletions(-)
>
Sunil Pai G Aug. 31, 2021, 1:03 p.m. UTC | #2
Hi Maxime, 

<snip>

> Hi Sunil,
> 
> On 8/23/21 11:53 AM, Sunil Pai G wrote:
> > Note to the reader:
> > -------------------
> > The intent of this patch is to explore possible different approaches
> > of async implementations.
> > Please consider this patch for discussions only and not for
> > merge/upstream.
> 
> Thanks for sharing, that will indeed help to find the best solution.
> I'm just wondering if you have the vhost example part of this rework, so that
> we can understand what are the impacts on app side?
> 

I did some quick changes for the vhost sample app but only for the Northbound path.
https://patches.dpdk.org/project/dpdk/patch/20210831125924.3353952-1-sunil.pai.g@intel.com/ 

Please note that the patch is untested.
<snip>
Sunil Pai G Sept. 13, 2021, 9:48 a.m. UTC | #3
<snip>

Just as FYI, 
An alternate approach is up on the OVS mailing list : 
http://patchwork.ozlabs.org/project/openvswitch/list/?series=261277