DPDK patches and discussions
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: "Yang, Zhiyong" <zhiyong.yang@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"yliu@fridaylinux.org" <yliu@fridaylinux.org>
Cc: "Wang, Wei W" <wei.w.wang@intel.com>,
	"Tan, Jianfeng" <jianfeng.tan@intel.com>
Subject: Re: [dpdk-dev] [PATCH 00/11] net/vhostpci: A new vhostpci PMD supporting VM2VM scenario
Date: Thu, 18 Jan 2018 10:04:15 +0100	[thread overview]
Message-ID: <0371afcb-cf6c-70fe-4330-937084c78692@redhat.com> (raw)
In-Reply-To: <E182254E98A5DA4EB1E657AC7CB9BD2A8B023492@BGSMSX101.gar.corp.intel.com>

Hi Zhiyong,

Sorry for the late reply, please find my comments inline:

On 01/11/2018 12:13 PM, Yang, Zhiyong wrote:
> Hi Maxime, all,
> 

...

>>> Zhiyong Yang (11):
>>>     drivers/net: add vhostpci PMD base files
>>>     net/vhostpci: public header files
>>>     net/vhostpci: add debugging log macros
>>>     net/vhostpci: add basic framework
>>>     net/vhostpci: add queue setup
>>>     net/vhostpci: add support for link status change
>>>     net/vhostpci: get remote memory region and vring info
>>>     net/vhostpci: add RX function
>>>     net/vhostpci: add TX function
>>>     net/vhostpci: support RX/TX packets statistics
>>>     net/vhostpci: update release note
>>>
>>>    MAINTAINERS                                       |    6 +
>>>    config/common_base                                |    9 +
>>>    config/common_linuxapp                            |    1 +
>>>    doc/guides/rel_notes/release_18_02.rst            |    6 +
>>>    drivers/net/Makefile                              |    1 +
>>>    drivers/net/vhostpci/Makefile                     |   54 +
>>>    drivers/net/vhostpci/rte_pmd_vhostpci_version.map |    3 +
>>>    drivers/net/vhostpci/vhostpci_ethdev.c            | 1521
>> +++++++++++++++++++++
>>>    drivers/net/vhostpci/vhostpci_ethdev.h            |  176 +++
>>>    drivers/net/vhostpci/vhostpci_logs.h              |   69 +
>>>    drivers/net/vhostpci/vhostpci_net.h               |   74 +
>>>    drivers/net/vhostpci/vhostpci_pci.c               |  334 +++++
>>>    drivers/net/vhostpci/vhostpci_pci.h               |  240 ++++
>>>    mk/rte.app.mk                                     |    1 +
>>>    14 files changed, 2495 insertions(+)
>>>    create mode 100644 drivers/net/vhostpci/Makefile
>>>    create mode 100644
>> drivers/net/vhostpci/rte_pmd_vhostpci_version.map
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_ethdev.c
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_ethdev.h
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_logs.h
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_net.h
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_pci.c
>>>    create mode 100644 drivers/net/vhostpci/vhostpci_pci.h
>>>
>>
>> Thanks for the RFC.
>> It seems there is a lot of code duplication between this series and libvhost-
>> user.
>>
>> Does the non-RFC would make reuse of libvhost-user? I'm thinking of all the
>> code copied from virtio-net.c for example.
>>
>> If not, I think this is problematic as it will double the maintenance cost.
>>
> 
> I'm trying to reuse  librte_vhost RX/TX logic  and it seems feasible,
> However, I have to expose many internal data structures in librte_vhost such as virtio_net, vhost_virtqueue , etc to PMD layer.

I don't really like it, it looks like a layer violation.

> Since vhostpci PMD is using one virtio pci device (vhostpci device) in guest,    Memory allocation and release should be done in driver/net/vhostpci as virtio PMD does that.

If you talk about mbuf alloc/release, then Vhost PMD also does it.
So I'm not sure to get the point.

> Vhostpci and vhost can share struct  virtio_net to manage the different drivers, since they are very similar.
> The features for example zero copy feature, make rarp packets don't need to be supported for vhostpci, we can always disable them.
> How do you think about the thoughts?

Why not put vhost-pci wrappers in virtio-net?
Maybe TX/RX functions should be reworked to extract the common bits
between vhost-user and vhost-pci, taking care of not degrading
performance of vhost-user.

I don't know if this is feasible, what do you think?

Thanks,
Maxime
> thanks
> Zhiyong
>   
>> Cheers,
>> Maxime
> 
> 

  reply	other threads:[~2018-01-18  9:04 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-30  9:46 Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 01/11] drivers/net: add vhostpci PMD base files Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 02/11] net/vhostpci: public header files Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 03/11] net/vhostpci: add debugging log macros Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 04/11] net/vhostpci: add basic framework Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 05/11] net/vhostpci: add queue setup Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 06/11] net/vhostpci: add support for link status change Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 07/11] net/vhostpci: get remote memory region and vring info Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 08/11] net/vhostpci: add RX function Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 09/11] net/vhostpci: add TX function Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 10/11] net/vhostpci: support RX/TX packets statistics Zhiyong Yang
2017-11-30  9:46 ` [dpdk-dev] [PATCH 11/11] net/vhostpci: update release note Zhiyong Yang
2017-12-05  6:59 ` [dpdk-dev] [PATCH 00/11] net/vhostpci: A new vhostpci PMD supporting VM2VM scenario Yang, Zhiyong
2017-12-05 14:08   ` Yuanhan Liu
2017-12-06  3:00     ` Wei Wang
2017-12-07  6:07   ` Yang, Zhiyong
2017-12-19 11:14 ` Maxime Coquelin
2017-12-20  1:51   ` Yang, Zhiyong
2017-12-21  5:52     ` Tan, Jianfeng
2017-12-21  6:21       ` Yang, Zhiyong
2017-12-21  6:26         ` Yang, Zhiyong
2017-12-21  8:26           ` Maxime Coquelin
2017-12-21  8:40             ` Yang, Zhiyong
2018-01-11 11:13   ` Yang, Zhiyong
2018-01-18  9:04     ` Maxime Coquelin [this message]
2018-01-19  1:56       ` Yang, Zhiyong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0371afcb-cf6c-70fe-4330-937084c78692@redhat.com \
    --to=maxime.coquelin@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jianfeng.tan@intel.com \
    --cc=wei.w.wang@intel.com \
    --cc=yliu@fridaylinux.org \
    --cc=zhiyong.yang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).