DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of action args
Date: Tue, 20 Apr 2021 10:04:48 +0000
Message-ID: <DM6PR11MB2796CCD79ED36B937C157D3DEB489@DM6PR11MB2796.namprd11.prod.outlook.com> (raw)
In-Reply-To: <1799475.riq6yjk0ZW@thomas>



> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, April 20, 2021 1:48 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of
> action args
> 
> 12/04/2021 01:23, Cristian Dumitrescu:
> > Each table entry is made up of match fields and action data, with the
> > latter made up of the action ID and the action arguments. The approach
> > of having the user specify explicitly the endianness of the action
> > arguments is difficult to be picked up by P4 compilers, as the P4
> > compiler is generally unaware about this aspect.
> >
> > This commit introduces the auto-detection of the endianness of the
> > action arguments by examining the endianness of the their destination:
> > network byte order (NBO) when they get copied to headers and host byte
> > order (HBO) when they get copied to packet meta-data or mailboxes.
> >
> > The endianness specification of each action argument as part of the
> > rule specification, e.g. H(...) and N(...) is removed from the rule
> > file and auto-detected based on their destination. The DMA instruction
> > scope is made internal, so mov instructions need to be used. The
> > pattern of transferring complete headers from table entry action args
> > to headers is detected, and the associated set of mov instructions
> > plus header validate is internally detected and replaced with the
> > internal-only DMA instruction to preserve performance.
> >
> > Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> > ---
> >  examples/pipeline/examples/vxlan.spec      |  41 ++-
> >  examples/pipeline/examples/vxlan_table.py  |  44 ++--
> >  examples/pipeline/examples/vxlan_table.txt |  32 +--
> >  lib/librte_pipeline/rte_swx_ctl.c          |  15 +-
> >  lib/librte_pipeline/rte_swx_ctl.h          |   6 +
> >  lib/librte_pipeline/rte_swx_pipeline.c     | 282 ++++++++++++++++++---
> >  lib/librte_pipeline/rte_swx_pipeline.h     |   4 -
> 
> There are compilation issues in the CI:
> https://patches.dpdk.org/project/dpdk/patch/20210411232338.4005-2-
> cristian.dumitrescu@intel.com/
> 

Hi Thomas,

The reason for the CI issues is because this patch set has dependencies on the previous patches that were pending, but now already applied by you (thank you!), so there should not be any real issues?

Regards,
Cristian

  reply	other threads:[~2021-04-20 10:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-11 23:23 [dpdk-dev] [PATCH 1/2] pipeline: modularize the instruction optimizer Cristian Dumitrescu
2021-04-11 23:23 ` [dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of action args Cristian Dumitrescu
2021-04-20  0:48   ` Thomas Monjalon
2021-04-20 10:04     ` Dumitrescu, Cristian [this message]
2021-04-20 10:06       ` Thomas Monjalon
2021-04-20 10:20         ` Dumitrescu, Cristian
2021-04-20 14:48           ` Aaron Conole
2021-04-20 19:57   ` Thomas Monjalon
2021-04-21  7:49     ` Ali Alnubani
2021-04-21 12:57       ` Aaron Conole
2021-04-21 13:03         ` Ali Alnubani
2021-04-21 13:21           ` Aaron Conole
2021-04-21 13:58       ` Dumitrescu, Cristian
2021-04-21 14:24         ` Ali Alnubani
2021-04-21 15:10           ` Dumitrescu, Cristian

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=DM6PR11MB2796CCD79ED36B937C157D3DEB489@DM6PR11MB2796.namprd11.prod.outlook.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git