From: Tomasz Duszynski <tdu@semihalf.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Tomasz Duszynski <tdu@semihalf.com>,
dev@dpdk.org, mw@semihalf.com, dima@marvell.com,
nsamsono@marvell.com, Jianbo.liu@linaro.org,
Jacek Siuda <jck@semihalf.com>
Subject: Re: [dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver
Date: Fri, 6 Oct 2017 08:41:05 +0200 [thread overview]
Message-ID: <20171006064105.GA11828@tdu> (raw)
In-Reply-To: <14bc8ee0-d474-0041-8cc9-22c2f881eef0@intel.com>
On Thu, Oct 05, 2017 at 06:29:12PM +0100, Ferruh Yigit wrote:
> On 10/5/2017 9:43 AM, Tomasz Duszynski wrote:
> > On Wed, Oct 04, 2017 at 05:59:11PM +0100, Ferruh Yigit wrote:
> >> On 10/4/2017 9:59 AM, Tomasz Duszynski wrote:
> >>> On Wed, Oct 04, 2017 at 01:24:27AM +0100, Ferruh Yigit wrote:
> >>>> On 10/3/2017 12:51 PM, Tomasz Duszynski wrote:
> >>>>> Add support for the Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter.
> >>>>> Driver is based on external, publicly available, light-weight Marvell
> >>>>> MUSDK library that provides access to network packet processor.
> >>>>>
> >>>>> Driver comes with support for the following features:
> >>>>>
> >>>>> * Speed capabilities
> >>>>> * Link status
> >>>>> * Queue start/stop
> >>>>> * MTU update
> >>>>> * Jumbo frame
> >>>>> * Promiscuous mode
> >>>>> * Allmulticast mode
> >>>>> * Unicast MAC filter
> >>>>> * Multicast MAC filter
> >>>>> * RSS hash
> >>>>> * VLAN filter
> >>>>> * CRC offload
> >>>>> * L3 checksum offload
> >>>>> * L4 checksum offload
> >>>>> * Packet type parsing
> >>>>> * Basic stats
> >>>>> * Stats per queue
> >>>>
> >>>> I have more detailed comments but in high level,
> >>>> what do you think splitting this patch into three patches:
> >>>> - Skeleton
> >>>> - Add Rx/Tx support
> >>>> - Add features, like MTU update or Promiscuous etc.. support
> >>> If it's how submission process works then I think you left me with no
> >>> other option than splitting driver into nice patchset :).
> >>
> >> No, there is no defined submission process.
> >>
> >>> On the other
> >>> hand driver is really a wrapper to MUSDK library and thus quite easy to
> >>> follow. What are the benefits of such 3-way split?
> >>
> >> To help others review/understand your code. Big code chunks are scary
> >> and I believe most of details gets lost in big code chunks.
> >>
> >> When someone from community wants to understand and update/improve/fix
> >> your code, to help them by logically split the code that their focus can
> >> go into more narrow part.
> >>
> >> But this also means some effort in your side, so some kind of balance is
> >> required.
> >>
> >> I think splitting patch into smaller logical part is helpful for others,
> >> what do you think, is it too much effort?
> >>
> >
> > Fair enough. I'll split the driver as suggested. A few specific
> > questions about functionality each patch should contain though.
> >
> > As for skeleton, I see others just put driver probing here.
> >
> > As for Rx/Tx support it seems that there's no common pattern.
> > Functionality like starting/stopping device, queues configuration
> > and all the other things related to Rx/Tx should be here as well?
>
> As you said there is no common pattern, but I think starting/stopping
> device, queues configuration can go into skeleton and mainly Rx/Tx burst
> functions can go into Rx/Tx patch.
> But please what you think more reasonable matters here.
>
ACK
> >
> > What's left are features which go into features-patch.
>
> Yes.
> And the .ini file, currently part of doc patch, can be part of this
> features patch, it is helps more to see the code add feature and doc
> documents it in same patch.
>
ACK
> >
> >>>>
> >>>>>
> >>>>> Driver was engineered cooperatively by Semihalf and Marvell teams.
> >>>>>
> >>>>> Semihalf:
> >>>>> Jacek Siuda <jck@semihalf.com>
> >>>>> Tomasz Duszynski <tdu@semihalf.com>
> >>>>>
> >>>>> Marvell:
> >>>>> Dmitri Epshtein <dima@marvell.com>
> >>>>> Natalie Samsonov <nsamsono@marvell.com>
> >>>>>
> >>>>> Signed-off-by: Jacek Siuda <jck@semihalf.com>
> >>>>> Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
> >>>>
> >>>> <...>
> >>>>
> >>>>> +static struct rte_vdev_driver pmd_mrvl_drv = {
> >>>>> + .probe = rte_pmd_mrvl_probe,
> >>>>> + .remove = rte_pmd_mrvl_remove,
> >>>>> +};
> >>>>> +
> >>>>> +RTE_PMD_REGISTER_VDEV(net_mrvl, pmd_mrvl_drv);
> >>>>
> >>>> Please help me understand.
> >>>>
> >>>> This driver implemented as virtual driver, because:
> >>>> With the help of custom kernel modules, musdk library already provides
> >>>> userspace datapath support. This PMD is an interface to musdk library.
> >>>> Is this correct?
> >>> That is right. Another reason this NIC is not PCI device.
> >>
> >> We support more bus now :). Out of curiosity, which bus is device on?
> >
> > Bus is called Aurora2. That's proprietary SoC interconnect fabric.
> >
> >>
> >>>>
> >>>> If so, just thinking loud:
> >>>> - Why not implement this PMD directly on top of kernel interface,
> >>>> removing musdk layer completely?
> >>>> - How big problem that this PMD depends on custom kernel code?
> >>> I think the main reason is that MUSDK is already used in different projects.
> >>> Keeping multiple codebases offering similar functionality would be quite
> >>> demanding in terms of extra work needed.
> >>>> - How library and custom kernel code delivered? For which platforms?
> >>> Kernel and library sources are hosted on publicly available repository.
> >>
> >> I guess it would be nice to highlight custom kernel with external
> >> patches is required. This is not mentioned in "Prerequisites" section of
> >> the document.
> >>
> >
> > ACK
> >
> >>> Driver was tested on Armada 7k/8k SoCs.
> >>
> >> Can you please provide link to the HW mentioned in documentation?
> >>
> >
> > You can find some info here:
> >
> > https://www.marvell.com/embedded-processors/armada-70xx/
> > https://www.marvell.com/embedded-processors/armada-80xx/
>
> Thanks, would you mind putting these links into driver documentation as
> well?
ACK
>
> >
> >>>>
> >>>> <....>
> >>>>
> >>>
> >>> --
> >>> - Tomasz Duszyński
> >>>
> >>
> >
> > --
> > - Tomasz Duszyński
> >
>
--
- Tomasz Duszyński
next prev parent reply other threads:[~2017-10-06 6:41 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-26 9:39 [dpdk-dev] [PATCH 0/8] add net/crypto mrvl pmd drivers Tomasz Duszynski
2017-09-26 9:39 ` [dpdk-dev] [PATCH 1/8] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-09-26 14:31 ` Bruce Richardson
2017-09-27 7:36 ` Tomasz Duszynski
2017-09-27 12:01 ` Bruce Richardson
2017-09-26 9:39 ` [dpdk-dev] [PATCH 2/8] net/mrvl: add mrvl net pmd driver Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 3/8] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 4/8] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 5/8] crypto/mrvl: add mrvl crypto pmd driver Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 6/8] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 7/8] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-09-26 9:40 ` [dpdk-dev] [PATCH 8/8] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-09-27 9:40 ` [dpdk-dev] [PATCH 0/8] add net/crypto mrvl pmd drivers De Lara Guarch, Pablo
2017-09-27 10:59 ` Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 0/4] add net mrvl pmd driver Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 1/4] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-03 11:51 ` [dpdk-dev] [PATCH v3 0/4] add net mrvl pmd driver Tomasz Duszynski
2017-10-03 11:51 ` [dpdk-dev] [PATCH v3 1/4] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-03 11:51 ` [dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver Tomasz Duszynski
2017-10-04 0:24 ` Ferruh Yigit
2017-10-04 8:59 ` Tomasz Duszynski
2017-10-04 16:59 ` Ferruh Yigit
2017-10-05 8:43 ` Tomasz Duszynski
2017-10-05 17:29 ` Ferruh Yigit
2017-10-06 6:41 ` Tomasz Duszynski [this message]
2017-10-10 21:25 ` Thomas Monjalon
2017-10-04 0:28 ` Ferruh Yigit
2017-10-04 13:19 ` Tomasz Duszynski
2017-10-05 17:37 ` Ferruh Yigit
2017-10-03 11:51 ` [dpdk-dev] [PATCH v3 3/4] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-10-04 0:29 ` Ferruh Yigit
2017-10-04 7:53 ` Tomasz Duszynski
2017-10-03 11:51 ` [dpdk-dev] [PATCH v3 4/4] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 01/16] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 02/16] net/mrvl: add mrvl net pmd driver skeleton Tomasz Duszynski
2017-10-11 13:38 ` Thomas Monjalon
2017-10-12 6:51 ` Tomasz Duszynski
2017-10-12 7:59 ` Vincent JARDIN
2017-10-12 12:14 ` Jacek Siuda
2017-10-12 13:57 ` Vincent JARDIN
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 03/16] net/mrvl: add rx/tx support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 04/16] net/mrvl: add link update Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 05/16] net/mrvl: add link speed capabilities Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 06/16] net/mrvl: add support for updating mtu Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 07/16] net/mrvl: add jumbo frame support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 08/16] net/mrvl: add support for promiscuous and allmulticast modes Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 09/16] net/mrvl: add support for mac filtering Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 10/16] net/mrvl: add rss hashing support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 11/16] net/mrvl: add support for vlan filtering Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 12/16] net/mrvl: add crc, l3 and l4 offloads support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 13/16] net/mrvl: add packet type parsing support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 14/16] net/mrvl: add basic stats support Tomasz Duszynski
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 15/16] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-10-09 19:02 ` Ferruh Yigit
2017-10-09 19:09 ` Marcin Wojtas
2017-10-09 19:12 ` Ferruh Yigit
2017-10-10 5:47 ` Tomasz Duszynski
2017-10-10 3:20 ` Jianbo Liu
2017-10-10 4:38 ` Ferruh Yigit
2017-10-09 15:00 ` [dpdk-dev] [PATCH v4 16/16] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-10-09 20:54 ` Ferruh Yigit
2017-10-10 5:51 ` Tomasz Duszynski
2017-10-11 14:27 ` Thomas Monjalon
2017-10-12 2:01 ` Thomas Monjalon
2017-10-09 20:59 ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Ferruh Yigit
2017-10-10 0:25 ` Ferruh Yigit
2017-10-10 7:07 ` Tomasz Duszynski
2017-10-10 5:55 ` Tomasz Duszynski
2017-10-12 1:51 ` Ferruh Yigit
2017-10-12 2:37 ` [dpdk-dev] [PATCH] doc: add build steps to mrvl NIC guide Thomas Monjalon
2017-10-12 6:28 ` Tomasz Duszynski
2017-10-12 8:02 ` Thomas Monjalon
2017-10-12 6:07 ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 2/4] net/mrvl: add mrvl net " Tomasz Duszynski
2017-09-29 15:38 ` Stephen Hemminger
2017-10-02 11:08 ` Bruce Richardson
2017-10-03 6:33 ` Tomasz Duszynski
2017-10-03 6:23 ` Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 3/4] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 4/4] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-09-28 11:06 ` [dpdk-dev] [PATCH v2 0/4] add net mrvl pmd driver Ferruh Yigit
2017-09-28 11:40 ` Amit Tomer
2017-09-28 12:01 ` Marcin Wojtas
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 0/4] add crypto " Tomasz Duszynski
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-05 15:01 ` De Lara Guarch, Pablo
2017-10-06 7:24 ` Tomasz Duszynski
2017-10-05 15:47 ` Bruce Richardson
2017-10-06 7:05 ` Tomasz Duszynski
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-05 14:45 ` De Lara Guarch, Pablo
2017-10-06 8:06 ` Tomasz Duszynski
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-07 20:28 ` [dpdk-dev] [PATCH v3 0/4] add crypto mrvl pmd driver Tomasz Duszynski
2017-10-07 20:28 ` [dpdk-dev] [PATCH v3 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-10 10:16 ` De Lara Guarch, Pablo
2017-10-10 10:25 ` Tomasz Duszynski
2017-10-07 20:28 ` [dpdk-dev] [PATCH v3 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-07 20:28 ` [dpdk-dev] [PATCH v3 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-10-07 20:28 ` [dpdk-dev] [PATCH v3 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-10 10:44 ` De Lara Guarch, Pablo
2017-10-10 10:57 ` Tomasz Duszynski
2017-10-10 12:17 ` [dpdk-dev] [PATCH v4 0/4] add crypto mrvl pmd driver Tomasz Duszynski
2017-10-10 12:17 ` [dpdk-dev] [PATCH v4 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-10 12:17 ` [dpdk-dev] [PATCH v4 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-10 12:17 ` [dpdk-dev] [PATCH v4 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-10-10 12:17 ` [dpdk-dev] [PATCH v4 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-12 12:11 ` [dpdk-dev] [PATCH v4 0/4] add crypto mrvl pmd driver De Lara Guarch, Pablo
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=20171006064105.GA11828@tdu \
--to=tdu@semihalf.com \
--cc=Jianbo.liu@linaro.org \
--cc=dev@dpdk.org \
--cc=dima@marvell.com \
--cc=ferruh.yigit@intel.com \
--cc=jck@semihalf.com \
--cc=mw@semihalf.com \
--cc=nsamsono@marvell.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).