DPDK patches and discussions
 help / color / mirror / Atom feed
From: "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
To: "Wodkowski, PawelX" <pawelx.wodkowski@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 2/2] examples: introduce new l2fwd-headroom example
Date: Wed, 18 Feb 2015 13:41:54 +0000	[thread overview]
Message-ID: <E115CCD9D858EF4F90C690B0DCB4D89727260D28@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <1424191340-26451-3-git-send-email-pawelx.wodkowski@intel.com>

Hi Pawel,

A few things to fix:

> -----Original Message-----
> From: Wodkowski, PawelX
> Sent: Tuesday, February 17, 2015 4:42 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo
> Subject: [PATCH v4 2/2] examples: introduce new l2fwd-headroom example
> 
> This app demonstrate usage of new headroom library.
> It is basicaly orginal l2fwd with following modificantions to met

Typo: Basically the original, modifications

> headroom library requirements:
> - main_loop() was split into two jobs: forward job and flush job. Logic
> for those jobs is almost the same as in orginal application.

original

> - stats is moved to rte_alarm callbac to not introduce overhead of

callback

> printing.
> - stats are expanded to show headroom statistics.
> - added new parameter '-l' to automatic thousands separator.
> 
> Comparing orginal l2fwd and l2fwd-headroom apps will show approach what

original

> is needed to properly write own application with headroom measurements.
> 
> New available statistics:
> - Total and % of fwd and flush execution time
> - management time - overhead of rte_timer + overhead of headroom library
> - Idle time and % of time spent waiting for fwd or flush to be ready to
> execute.
> - per job execution time and period.
> 
> 
> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
> ---
>  examples/Makefile                |    1 +
>  examples/l2fwd-headroom/Makefile |   51 ++
>  examples/l2fwd-headroom/main.c   | 1039
> ++++++++++++++++++++++++++++++++++++++
>  mk/rte.app.mk                    |    4 +
>  4 files changed, 1095 insertions(+)
>  create mode 100644 examples/l2fwd-headroom/Makefile
>  create mode 100644 examples/l2fwd-headroom/main.c
> 
> diff --git a/examples/Makefile b/examples/Makefile
> index 81f1d2f..8a459b7 100644
> --- a/examples/Makefile
> +++ b/examples/Makefile
> @@ -50,6 +50,7 @@ DIRS-$(CONFIG_RTE_MBUF_REFCNT) +=
> ip_fragmentation
>  DIRS-$(CONFIG_RTE_MBUF_REFCNT) += ipv4_multicast
>  DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
>  DIRS-y += l2fwd
> +DIRS-y += l2fwd-headroom
>  DIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += l2fwd-ivshmem
>  DIRS-y += l3fwd
>  DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
> diff --git a/examples/l2fwd-headroom/Makefile b/examples/l2fwd-
> headroom/Makefile
> new file mode 100644
> index 0000000..07da286
> --- /dev/null
> +++ b/examples/l2fwd-headroom/Makefile
> @@ -0,0 +1,51 @@
> +#   BSD LICENSE
> +#
> +#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
> +#   All rights reserved.
> +#
> +#   Redistribution and use in source and binary forms, with or without
> +#   modification, are permitted provided that the following conditions
> +#   are met:
> +#
> +#     * Redistributions of source code must retain the above copyright
> +#       notice, this list of conditions and the following disclaimer.
> +#     * Redistributions in binary form must reproduce the above copyright
> +#       notice, this list of conditions and the following disclaimer in
> +#       the documentation and/or other materials provided with the
> +#       distribution.
> +#     * Neither the name of Intel Corporation nor the names of its
> +#       contributors may be used to endorse or promote products derived
> +#       from this software without specific prior written permission.
> +#
> +#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> CONTRIBUTORS
> +#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
> NOT
> +#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
> FITNESS FOR
> +#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> COPYRIGHT
> +#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> INCIDENTAL,
> +#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> NOT
> +#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
> OF USE,
> +#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> AND ON ANY
> +#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
> TORT
> +#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
> THE USE
> +#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> DAMAGE.
> +
> +ifeq ($(RTE_SDK),)
> +$(error "Please define RTE_SDK environment variable")
> +endif
> +
> +# Default target, can be overriden by command line or environment

overridden

> +RTE_TARGET ?= x86_64-native-linuxapp-gcc
> +
> +include $(RTE_SDK)/mk/rte.vars.mk
> +
> +# binary name
> +APP = l2fwd-headroom
> +
> +# all source are stored in SRCS-y
> +SRCS-y := main.c
> +
> +
> +CFLAGS += -O3
> +CFLAGS += $(WERROR_FLAGS)
> +
> +include $(RTE_SDK)/mk/rte.extapp.mk
> diff --git a/examples/l2fwd-headroom/main.c b/examples/l2fwd-
> headroom/main.c

[...]

> +	if (qconf->n_rx_port > 0) {
> +		job = &qconf->flush_job;
> +		printf("\n\nJob %" PRIu32 ": %-20s "
> +				"\n%-18s %'14" PRIu64
> +				"\n%-18s %'14.0f"
> +				STAT_FMT,
> +				i, job->name,
> +				"Exec count:", flush_exec_cnt,
> +				"Exec period: ", cycles_to_ns(flush_period),
> +				"Exec time",
> +				cycles_to_ns(flush_exec), flush_exec * 100.0
> / stats_period ,

Remove space before last comma.

> +				cycles_to_ns(flush_exec_cnt ? flush_exec /
> flush_exec_cnt : 0),
> +				cycles_to_ns(flush_exec_min),
> +				cycles_to_ns(flush_exec_max));
> +	}
> +}
> +

  reply	other threads:[~2015-02-18 13:41 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29 11:50 [dpdk-dev] [PATCH 0/2] new headroom stats library and example application Pawel Wodkowski
2015-01-29 11:50 ` [dpdk-dev] [PATCH 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-01-29 11:50 ` [dpdk-dev] [PATCH 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-01-29 13:25 ` [dpdk-dev] [PATCH 0/2] new headroom stats library and example application Neil Horman
2015-01-29 17:10   ` Wodkowski, PawelX
2015-01-29 19:13     ` Neil Horman
2015-01-30 10:47       ` Wodkowski, PawelX
2015-01-30 18:02         ` Neil Horman
2015-02-17 15:37 ` [dpdk-dev] [PATCH v2 " Pawel Wodkowski
2015-02-17 15:37   ` [dpdk-dev] [PATCH v2 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-02-17 15:37   ` [dpdk-dev] [PATCH v2 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-02-17 16:19   ` [dpdk-dev] [PATCH v3 0/2] new headroom stats library and example application Pawel Wodkowski
2015-02-17 16:19     ` [dpdk-dev] [PATCH v3 1/2] pmd: enable DCB in SRIOV Pawel Wodkowski
2015-02-17 16:19     ` [dpdk-dev] [PATCH v3 2/2] tespmd: fix DCB in SRIOV mode support Pawel Wodkowski
2015-02-17 16:33     ` [dpdk-dev] [PATCH v3 0/2] new headroom stats library and example application Wodkowski, PawelX
2015-02-17 16:42     ` [dpdk-dev] [PATCH v4 " Pawel Wodkowski
2015-02-17 16:42       ` [dpdk-dev] [PATCH v4 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-02-18 13:36         ` De Lara Guarch, Pablo
2015-02-17 16:42       ` [dpdk-dev] [PATCH v4 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-02-18 13:41         ` De Lara Guarch, Pablo [this message]
2015-02-19 12:18       ` [dpdk-dev] [PATCH v5 0/3] new headroom stats library and example application Pawel Wodkowski
2015-02-19 12:18         ` [dpdk-dev] [PATCH v5 1/3] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-02-24  1:55           ` Thomas Monjalon
2015-02-19 12:18         ` [dpdk-dev] [PATCH v5 2/3] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-02-19 12:18         ` [dpdk-dev] [PATCH v5 3/3] MAINTAINERS: claim responsibility for headroom library and example app Pawel Wodkowski
2015-02-19 14:33         ` [dpdk-dev] [PATCH v5 0/3] new headroom stats library and example application Neil Horman
2015-02-20 15:46           ` Jastrzebski, MichalX K
2015-02-23 11:45             ` Thomas Monjalon
2015-02-23 14:36               ` Jastrzebski, MichalX K
2015-02-23 14:46                 ` Thomas Monjalon
2015-02-23 15:55                   ` Jastrzebski, MichalX K
2015-02-23 16:04                     ` Thomas Monjalon
2015-02-24  8:44                       ` Pawel Wodkowski
2015-02-24  9:49                   ` Jastrzebski, MichalX K
2015-02-24 10:00                     ` Thomas Monjalon
2015-02-24 10:05                       ` Wodkowski, PawelX
2015-02-24 10:53                       ` Wodkowski, PawelX
2015-02-24 16:33         ` [dpdk-dev] [PATCH v6 0/3] new rte_jobstats " Pawel Wodkowski
2015-02-24 16:33           ` [dpdk-dev] [PATCH v6 1/3] librte_jobstats: New library for checking core/system/app load Pawel Wodkowski
2015-02-24 21:18             ` Thomas Monjalon
2015-02-24 16:33           ` [dpdk-dev] [PATCH v6 2/3] examples: introduce new l2fwd-jobstats example Pawel Wodkowski
2015-02-24 19:10             ` De Lara Guarch, Pablo
2015-02-24 19:16               ` De Lara Guarch, Pablo
2015-02-24 20:08                 ` Thomas Monjalon
2015-02-24 21:19             ` Thomas Monjalon
2015-02-24 16:33           ` [dpdk-dev] [PATCH v6 3/3] MAINTAINERS: claim responsibility for rte_jobstats library and example app Pawel Wodkowski
2015-02-24 20:34           ` [dpdk-dev] [PATCH v6 0/3] new rte_jobstats library and example application De Lara Guarch, Pablo
2015-02-24 21:25             ` Thomas Monjalon

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=E115CCD9D858EF4F90C690B0DCB4D89727260D28@IRSMSX108.ger.corp.intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=dev@dpdk.org \
    --cc=pawelx.wodkowski@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).