DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wodkowski, PawelX" <pawelx.wodkowski@intel.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>,
	"Jastrzebski, MichalX K" <michalx.k.jastrzebski@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v6 2/2] testpmd: add mode 4 support v6
Date: Wed, 26 Nov 2014 13:00:32 +0000	[thread overview]
Message-ID: <F6F2A6264E145F47A18AB6DF8E87425D12B64A43@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: <3141494.bx8cpoIdIi@xps13>

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Wednesday, November 26, 2014 1:31 PM
> To: Jastrzebski, MichalX K
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 2/2] testpmd: add mode 4 support v6
> 
> 2014-11-26 11:17, Michal Jastrzebski:
> > From: Pawel Wodkowski <pawelx.wodkowski@intel.com>
> > --- a/app/test-pmd/csumonly.c
> > +++ b/app/test-pmd/csumonly.c
> > @@ -254,8 +254,17 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> >  	 */
> >  	nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, pkts_burst,
> >  				 nb_pkt_per_burst);
> > +#ifndef RTE_LIBRTE_PMD_BOND
> >  	if (unlikely(nb_rx == 0))
> >  		return;
> > +#else
> > +	if (unlikely(nb_rx == 0 && (fs->forward_timeout == 0 ||
> > +			fs->next_forward_time > rte_rdtsc())))
> > +		return;
> > +
> > +	if (fs->forward_timeout != 0)
> > +		fs->next_forward_time = rte_rdtsc() + fs->forward_timeout;
> > +#endif
> 
> I don't understand why you need to make such change for bonding,
> and there is no comment to explain.
> Bonding should be a PMD like any other and shouldn't require such change.
> I don't know mode 4 but it seems there is a design problem here.
> 

It is an implication of requirement that was formed on beginning of bonding 
implementation - bonded interface should be transparent to user app. But this
requirement in is in collision with mode 4. It need to periodically receive and 
transmit frames (LACP and marker) that are not passed to user app but 
processed/produced in background. If this will not happen in at least 10 times
per second mode 4 will not work.

Most of (all?) user applications do RX/TX more often than 10 times per second, 
so this will have neglectable impact to those apps (it will have to check this 
100ms maximum interval of rx/tx as I did in code you pointed).

We had discussed all options with Declan and Bruce, and this seems to be the
most transparent way to implement mode 4 without using any kind of locking
inside library.

Paweł

  reply	other threads:[~2014-11-26 12:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26 11:17 [dpdk-dev] [PATCH v6 0/2] bond: mode 4 support Michal Jastrzebski
2014-11-26 11:17 ` [dpdk-dev] [PATCH v6 1/2] bond: add mode 4 support v6 Michal Jastrzebski
2014-11-26 11:17 ` [dpdk-dev] [PATCH v6 2/2] testpmd: " Michal Jastrzebski
2014-11-26 12:31   ` Thomas Monjalon
2014-11-26 13:00     ` Wodkowski, PawelX [this message]
2014-11-26 13:30       ` Thomas Monjalon
2014-11-26 14:05         ` Jastrzebski, MichalX K
2014-11-26 12:16 ` [dpdk-dev] [PATCH v6 0/2] bond: mode 4 support Thomas Monjalon
2014-11-26 12:24   ` Jastrzebski, MichalX K
2014-11-26 12:27     ` Thomas Monjalon
2014-11-26 13:29       ` Jastrzebski, MichalX K

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=F6F2A6264E145F47A18AB6DF8E87425D12B64A43@IRSMSX102.ger.corp.intel.com \
    --to=pawelx.wodkowski@intel.com \
    --cc=dev@dpdk.org \
    --cc=michalx.k.jastrzebski@intel.com \
    --cc=thomas.monjalon@6wind.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).