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));
> + }
> +}
> +
next prev parent 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).