From: "Yang, Zhiyong" <zhiyong.yang@intel.com>
To: Maxime Coquelin <maxime.coquelin@redhat.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: Fri, 19 Jan 2018 01:56:48 +0000 [thread overview]
Message-ID: <E182254E98A5DA4EB1E657AC7CB9BD2A8B0283F8@BGSMSX101.gar.corp.intel.com> (raw)
In-Reply-To: <0371afcb-cf6c-70fe-4330-937084c78692@redhat.com>
Hi Maxime,
> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com]
> Sent: Thursday, January 18, 2018 5:04 PM
> To: Yang, Zhiyong <zhiyong.yang@intel.com>; dev@dpdk.org;
> yliu@fridaylinux.org
> Cc: Wang, Wei W <wei.w.wang@intel.com>; Tan, Jianfeng
> <jianfeng.tan@intel.com>
> Subject: Re: [PATCH 00/11] net/vhostpci: A new vhostpci PMD supporting
> VM2VM scenario
>
> 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?
>
make sense, thanks for your useful suggestions. :)
Thanks
Zhiyong
> Thanks,
> Maxime
> > thanks
> > Zhiyong
> >
> >> Cheers,
> >> Maxime
> >
> >
prev parent reply other threads:[~2018-01-19 1:56 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
2018-01-19 1:56 ` Yang, Zhiyong [this message]
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=E182254E98A5DA4EB1E657AC7CB9BD2A8B0283F8@BGSMSX101.gar.corp.intel.com \
--to=zhiyong.yang@intel.com \
--cc=dev@dpdk.org \
--cc=jianfeng.tan@intel.com \
--cc=maxime.coquelin@redhat.com \
--cc=wei.w.wang@intel.com \
--cc=yliu@fridaylinux.org \
/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).