All of lore.kernel.org
 help / color / mirror / Atom feed
From: "De Lara Guarch, Pablo" <pablo.de.lara.guarch-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: "Wodkowski,
	PawelX"
	<pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"dev-VfR2kkLFssw@public.gmane.org"
	<dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: [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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Hi Pawel,

A few things to fix:

> -----Original Message-----
> From: Wodkowski, PawelX
> Sent: Tuesday, February 17, 2015 4:42 PM
> To: dev-VfR2kkLFssw@public.gmane.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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>  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));
> +	}
> +}
> +

  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 [PATCH 0/2] new headroom stats library and example application Pawel Wodkowski
     [not found] ` <1422532206-10662-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-01-29 11:50   ` [PATCH 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-01-29 11:50   ` [PATCH 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-01-29 13:25   ` [PATCH 0/2] new headroom stats library and example application Neil Horman
     [not found]     ` <20150129132522.GA1999-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-29 17:10       ` Wodkowski, PawelX
     [not found]         ` <F6F2A6264E145F47A18AB6DF8E87425D12B8F749-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-29 19:13           ` Neil Horman
     [not found]             ` <20150129191326.GF1999-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-30 10:47               ` Wodkowski, PawelX
     [not found]                 ` <F6F2A6264E145F47A18AB6DF8E87425D12B8FD9E-kPTMFJFq+rFP9JyJpTNKArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-30 18:02                   ` Neil Horman
2015-02-17 15:37   ` [PATCH v2 " Pawel Wodkowski
     [not found]     ` <1424187473-25853-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-17 15:37       ` [PATCH v2 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
2015-02-17 15:37       ` [PATCH v2 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-02-17 16:19       ` [PATCH v3 0/2] new headroom stats library and example application Pawel Wodkowski
     [not found]         ` <1424189986-26219-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-17 16:19           ` [PATCH v3 1/2] pmd: enable DCB in SRIOV Pawel Wodkowski
2015-02-17 16:19           ` [PATCH v3 2/2] tespmd: fix DCB in SRIOV mode support Pawel Wodkowski
2015-02-17 16:33           ` [PATCH v3 0/2] new headroom stats library and example application Wodkowski, PawelX
2015-02-17 16:42           ` [PATCH v4 " Pawel Wodkowski
     [not found]             ` <1424191340-26451-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-17 16:42               ` [PATCH v4 1/2] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
     [not found]                 ` <1424191340-26451-2-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-18 13:36                   ` De Lara Guarch, Pablo
2015-02-17 16:42               ` [PATCH v4 2/2] examples: introduce new l2fwd-headroom example Pawel Wodkowski
     [not found]                 ` <1424191340-26451-3-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-18 13:41                   ` De Lara Guarch, Pablo [this message]
2015-02-19 12:18               ` [PATCH v5 0/3] new headroom stats library and example application Pawel Wodkowski
     [not found]                 ` <1424348324-29932-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-19 12:18                   ` [PATCH v5 1/3] librte_headroom: New library for checking core/system/app load Pawel Wodkowski
     [not found]                     ` <1424348324-29932-2-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-24  1:55                       ` Thomas Monjalon
2015-02-19 12:18                   ` [PATCH v5 2/3] examples: introduce new l2fwd-headroom example Pawel Wodkowski
2015-02-19 12:18                   ` [PATCH v5 3/3] MAINTAINERS: claim responsibility for headroom library and example app Pawel Wodkowski
2015-02-19 14:33                   ` [PATCH v5 0/3] new headroom stats library and example application Neil Horman
     [not found]                     ` <20150219143334.GH24069-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-02-20 15:46                       ` Jastrzebski, MichalX K
     [not found]                         ` <60ABE07DBB3A454EB7FAD707B4BB1582138EB174-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-23 11:45                           ` Thomas Monjalon
2015-02-23 14:36                             ` Jastrzebski, MichalX K
     [not found]                               ` <60ABE07DBB3A454EB7FAD707B4BB1582138EB996-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-23 14:46                                 ` Thomas Monjalon
2015-02-23 15:55                                   ` Jastrzebski, MichalX K
     [not found]                                     ` <60ABE07DBB3A454EB7FAD707B4BB1582138EBA65-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-23 16:04                                       ` Thomas Monjalon
2015-02-24  8:44                                         ` Pawel Wodkowski
2015-02-24  9:49                                   ` Jastrzebski, MichalX K
     [not found]                                     ` <60ABE07DBB3A454EB7FAD707B4BB1582138EBD9C-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
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                   ` [PATCH v6 0/3] new rte_jobstats " Pawel Wodkowski
     [not found]                     ` <1424795605-2779-1-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-24 16:33                       ` [PATCH v6 1/3] librte_jobstats: New library for checking core/system/app load Pawel Wodkowski
     [not found]                         ` <1424795605-2779-2-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-24 21:18                           ` Thomas Monjalon
2015-02-24 16:33                       ` [PATCH v6 2/3] examples: introduce new l2fwd-jobstats example Pawel Wodkowski
     [not found]                         ` <1424795605-2779-3-git-send-email-pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-24 19:10                           ` De Lara Guarch, Pablo
     [not found]                             ` <E115CCD9D858EF4F90C690B0DCB4D897272639F7-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-24 19:16                               ` De Lara Guarch, Pablo
     [not found]                                 ` <E115CCD9D858EF4F90C690B0DCB4D89727263A28-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-24 20:08                                   ` Thomas Monjalon
2015-02-24 21:19                           ` Thomas Monjalon
2015-02-24 16:33                       ` [PATCH v6 3/3] MAINTAINERS: claim responsibility for rte_jobstats library and example app Pawel Wodkowski
2015-02-24 20:34                       ` [PATCH v6 0/3] new rte_jobstats library and example application De Lara Guarch, Pablo
     [not found]                         ` <E115CCD9D858EF4F90C690B0DCB4D89727263A8E-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
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-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=pawelx.wodkowski-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.