* [dpdk-dev] [PATCH] mk: add support for gdb debug info generation @ 2015-06-19 21:29 Cyril Chemparathy 2015-06-19 21:29 ` [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit Cyril Chemparathy 2015-06-22 7:44 ` [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Gonzalez Monroy, Sergio 0 siblings, 2 replies; 9+ messages in thread From: Cyril Chemparathy @ 2015-06-19 21:29 UTC (permalink / raw) To: dev From: Cyril Chemparathy <cchemparathy@tilera.com> It is often useful to build with debug enabled, we add a config (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. Note: This patch does not include corresponding changes for ICC. The author pleads abject ignorance in this regard, and welcomes recommendations. :-) Change-Id: I499e591e1b7d71df751fd40d1fdcbe6975eeeb27 Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com> --- mk/toolchain/gcc/rte.vars.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk index 0f51c66..22c4c1f 100644 --- a/mk/toolchain/gcc/rte.vars.mk +++ b/mk/toolchain/gcc/rte.vars.mk @@ -71,6 +71,11 @@ ifeq (,$(findstring -O0,$(EXTRA_CFLAGS))) endif endif +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) +TOOLCHAIN_CFLAGS += -g -ggdb +TOOLCHAIN_LDFLAGS += -g -ggdb +endif + WERROR_FLAGS := -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual -- 2.1.2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit. 2015-06-19 21:29 [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Cyril Chemparathy @ 2015-06-19 21:29 ` Cyril Chemparathy 2015-07-10 14:20 ` Thomas Monjalon 2015-06-22 7:44 ` [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Gonzalez Monroy, Sergio 1 sibling, 1 reply; 9+ messages in thread From: Cyril Chemparathy @ 2015-06-19 21:29 UTC (permalink / raw) To: dev This commit adds a forward count argument, which is used to terminate the test once a certain number of packets have been forwarded. Change-Id: Ia3e7ff5d41c3e947509b0653d53271b882fc04de Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com> --- examples/l2fwd/main.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index 720fd5a..20c1dd2 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -137,7 +137,9 @@ struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS]; /* A tsc-based timer responsible for triggering statistics printout */ #define TIMER_MILLISECOND 2000000ULL /* around 1ms at 2 Ghz */ #define MAX_TIMER_PERIOD 86400 /* 1 day max */ +#define MAX_FORWARD_COUNT 1000000000 /* a cool billion :) */ static int64_t timer_period = 10 * TIMER_MILLISECOND * 1000; /* default period is 10 seconds */ +static int64_t forward_count; /* Print out statistics on packets dropped */ static void @@ -262,6 +264,7 @@ l2fwd_main_loop(void) unsigned i, j, portid, nb_rx; struct lcore_queue_conf *qconf; const uint64_t drain_tsc = (rte_get_tsc_hz() + US_PER_S - 1) / US_PER_S * BURST_TX_DRAIN_US; + uint64_t total_packets_tx; prev_tsc = 0; timer_tsc = 0; @@ -321,6 +324,17 @@ l2fwd_main_loop(void) } prev_tsc = cur_tsc; + + if (forward_count > 0) { + total_packets_tx = 0; + for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) { + /* skip disabled ports */ + if ((l2fwd_enabled_port_mask & (1 << portid)) != 0) + total_packets_tx += port_statistics[portid].tx; + } + if (total_packets_tx >= forward_count) + break; + } } /* @@ -357,7 +371,8 @@ l2fwd_usage(const char *prgname) printf("%s [EAL options] -- -p PORTMASK [-q NQ]\n" " -p PORTMASK: hexadecimal bitmask of ports to configure\n" " -q NQ: number of queue (=ports) per lcore (default is 1)\n" - " -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default, 86400 maximum)\n", + " -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default, 86400 maximum)\n" + " -C COUNT: exit after transmitting COUNT packets\n", prgname); } @@ -412,6 +427,22 @@ l2fwd_parse_timer_period(const char *q_arg) return n; } +static int +l2fwd_parse_forward_count(const char *q_arg) +{ + char *end = NULL; + int n; + + /* parse number string */ + n = strtol(q_arg, &end, 10); + if ((q_arg[0] == '\0') || (end == NULL) || (*end != '\0')) + return -1; + if (n >= MAX_FORWARD_COUNT) + return -1; + + return n; +} + /* Parse the argument given in the command line of the application */ static int l2fwd_parse_args(int argc, char **argv) @@ -426,7 +457,7 @@ l2fwd_parse_args(int argc, char **argv) argvopt = argv; - while ((opt = getopt_long(argc, argvopt, "p:q:T:", + while ((opt = getopt_long(argc, argvopt, "p:q:T:C:", lgopts, &option_index)) != EOF) { switch (opt) { @@ -460,6 +491,16 @@ l2fwd_parse_args(int argc, char **argv) } break; + /* forward count */ + case 'C': + forward_count = l2fwd_parse_forward_count(optarg); + if (forward_count < 0) { + printf("invalid forward count\n"); + l2fwd_usage(prgname); + return -1; + } + break; + /* long options */ case 0: l2fwd_usage(prgname); @@ -702,6 +743,7 @@ main(int argc, char **argv) if (rte_eal_wait_lcore(lcore_id) < 0) return -1; } + print_stats(); return 0; } -- 2.1.2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit. 2015-06-19 21:29 ` [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit Cyril Chemparathy @ 2015-07-10 14:20 ` Thomas Monjalon 0 siblings, 0 replies; 9+ messages in thread From: Thomas Monjalon @ 2015-07-10 14:20 UTC (permalink / raw) To: Cyril Chemparathy; +Cc: dev NACK 2015-06-19 14:29, Cyril Chemparathy: > This commit adds a forward count argument, which is used to terminate > the test once a certain number of packets have been forwarded. It is not a test but an example application. This patch doesn't demonstrate a DPDK feature. If you need to improve a test tool, please prefer testpmd. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-19 21:29 [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Cyril Chemparathy 2015-06-19 21:29 ` [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit Cyril Chemparathy @ 2015-06-22 7:44 ` Gonzalez Monroy, Sergio 2015-06-22 7:56 ` Simon Kågström 2015-06-22 16:41 ` Cyril Chemparathy 1 sibling, 2 replies; 9+ messages in thread From: Gonzalez Monroy, Sergio @ 2015-06-22 7:44 UTC (permalink / raw) To: Cyril Chemparathy, dev On 19/06/2015 22:29, Cyril Chemparathy wrote: > From: Cyril Chemparathy <cchemparathy@tilera.com> > > It is often useful to build with debug enabled, we add a config > (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. > > Note: This patch does not include corresponding changes for ICC. The > author pleads abject ignorance in this regard, and welcomes > recommendations. :-) > > Change-Id: I499e591e1b7d71df751fd40d1fdcbe6975eeeb27 > Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com> > --- > mk/toolchain/gcc/rte.vars.mk | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk > index 0f51c66..22c4c1f 100644 > --- a/mk/toolchain/gcc/rte.vars.mk > +++ b/mk/toolchain/gcc/rte.vars.mk > @@ -71,6 +71,11 @@ ifeq (,$(findstring -O0,$(EXTRA_CFLAGS))) > endif > endif > > +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) > +TOOLCHAIN_CFLAGS += -g -ggdb > +TOOLCHAIN_LDFLAGS += -g -ggdb > +endif > + > WERROR_FLAGS := -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes > WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith > WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual I don't think you need to modify the makefiles and introduce a new compile time option for this. The same result can be easily achieved by setting EXTRA_CFLAGS in the command line. ie: $ make install T=x86_64-native-linuxapp-gcc EXTRA_CFLAGS='-g -ggdb' Sergio ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-22 7:44 ` [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Gonzalez Monroy, Sergio @ 2015-06-22 7:56 ` Simon Kågström 2015-06-23 7:39 ` Gonzalez Monroy, Sergio 2015-06-22 16:41 ` Cyril Chemparathy 1 sibling, 1 reply; 9+ messages in thread From: Simon Kågström @ 2015-06-22 7:56 UTC (permalink / raw) To: dev On 2015-06-22 09:44, Gonzalez Monroy, Sergio wrote: > On 19/06/2015 22:29, Cyril Chemparathy wrote: >> From: Cyril Chemparathy <cchemparathy@tilera.com> >> >> It is often useful to build with debug enabled, we add a config >> (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. >> >> +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) >> +TOOLCHAIN_CFLAGS += -g -ggdb >> +TOOLCHAIN_LDFLAGS += -g -ggdb >> +endif > I don't think you need to modify the makefiles and introduce a new > compile time option for this. > The same result can be easily achieved by setting EXTRA_CFLAGS in the > command line. ie: > $ make install T=x86_64-native-linuxapp-gcc EXTRA_CFLAGS='-g -ggdb' Why isn't -g standard though? The binaries should/will anyhow be stripped when used for production - but debugging information should be useful when analysing crashes. // Simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-22 7:56 ` Simon Kågström @ 2015-06-23 7:39 ` Gonzalez Monroy, Sergio 2015-06-23 7:47 ` Thomas Monjalon 0 siblings, 1 reply; 9+ messages in thread From: Gonzalez Monroy, Sergio @ 2015-06-23 7:39 UTC (permalink / raw) To: Simon Kågström, dev On 22/06/2015 08:56, Simon Kågström wrote: > On 2015-06-22 09:44, Gonzalez Monroy, Sergio wrote: >> On 19/06/2015 22:29, Cyril Chemparathy wrote: >>> From: Cyril Chemparathy <cchemparathy@tilera.com> >>> >>> It is often useful to build with debug enabled, we add a config >>> (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. >>> >>> +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) >>> +TOOLCHAIN_CFLAGS += -g -ggdb >>> +TOOLCHAIN_LDFLAGS += -g -ggdb >>> +endif >> I don't think you need to modify the makefiles and introduce a new >> compile time option for this. >> The same result can be easily achieved by setting EXTRA_CFLAGS in the >> command line. ie: >> $ make install T=x86_64-native-linuxapp-gcc EXTRA_CFLAGS='-g -ggdb' > Why isn't -g standard though? The binaries should/will anyhow be > stripped when used for production - but debugging information should be > useful when analysing crashes. I guess you could argue that, to always build with debug info then strip it down. You would need another flag to strip debug info for production, or leave it for debugging. In my opinion is not worth it, but it you feel strongly about it you can submit patches and let the community decide. Sergio > // Simon > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-23 7:39 ` Gonzalez Monroy, Sergio @ 2015-06-23 7:47 ` Thomas Monjalon 2015-06-23 10:08 ` Simon Kågström 0 siblings, 1 reply; 9+ messages in thread From: Thomas Monjalon @ 2015-06-23 7:47 UTC (permalink / raw) To: Gonzalez Monroy, Sergio; +Cc: dev 2015-06-23 08:39, Gonzalez Monroy, Sergio: > On 22/06/2015 08:56, Simon Kågström wrote: > > On 2015-06-22 09:44, Gonzalez Monroy, Sergio wrote: > >> On 19/06/2015 22:29, Cyril Chemparathy wrote: > >>> From: Cyril Chemparathy <cchemparathy@tilera.com> > >>> > >>> It is often useful to build with debug enabled, we add a config > >>> (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. > >>> > >>> +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) > >>> +TOOLCHAIN_CFLAGS += -g -ggdb > >>> +TOOLCHAIN_LDFLAGS += -g -ggdb > >>> +endif > >> I don't think you need to modify the makefiles and introduce a new > >> compile time option for this. > >> The same result can be easily achieved by setting EXTRA_CFLAGS in the > >> command line. ie: > >> $ make install T=x86_64-native-linuxapp-gcc EXTRA_CFLAGS='-g -ggdb' > > Why isn't -g standard though? The binaries should/will anyhow be > > stripped when used for production - but debugging information should be > > useful when analysing crashes. > > I guess you could argue that, to always build with debug info then strip > it down. > You would need another flag to strip debug info for production, or leave > it for debugging. > > In my opinion is not worth it, but it you feel strongly about it you can > submit patches and > let the community decide. I think stripping is a packaging responsibility. It would be a good idea to always provide debugging symbols. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-23 7:47 ` Thomas Monjalon @ 2015-06-23 10:08 ` Simon Kågström 0 siblings, 0 replies; 9+ messages in thread From: Simon Kågström @ 2015-06-23 10:08 UTC (permalink / raw) To: Thomas Monjalon, Gonzalez Monroy, Sergio; +Cc: dev On 2015-06-23 09:47, Thomas Monjalon wrote: > 2015-06-23 08:39, Gonzalez Monroy, Sergio: >> I guess you could argue that, to always build with debug info then strip >> it down. >> You would need another flag to strip debug info for production, or leave >> it for debugging. >> >> In my opinion is not worth it, but it you feel strongly about it you can >> submit patches and >> let the community decide. > > I think stripping is a packaging responsibility. > It would be a good idea to always provide debugging symbols. Yes, I think this would be the best way too, and should be pretty much standard procedure. DPDK is anyhow just a library - stripping should be up to the application / packaging to do. // Simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation 2015-06-22 7:44 ` [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Gonzalez Monroy, Sergio 2015-06-22 7:56 ` Simon Kågström @ 2015-06-22 16:41 ` Cyril Chemparathy 1 sibling, 0 replies; 9+ messages in thread From: Cyril Chemparathy @ 2015-06-22 16:41 UTC (permalink / raw) To: Gonzalez Monroy, Sergio; +Cc: dev On Mon, 22 Jun 2015 08:44:41 +0100 "Gonzalez Monroy, Sergio" <sergio.gonzalez.monroy@intel.com> wrote: > I don't think you need to modify the makefiles and introduce a new > compile time option for this. > The same result can be easily achieved by setting EXTRA_CFLAGS in the > command line. ie: > $ make install T=x86_64-native-linuxapp-gcc EXTRA_CFLAGS='-g > -ggdb' Fair enough. Please ignore this patch then. Thanks! ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-07-10 14:27 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-06-19 21:29 [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Cyril Chemparathy 2015-06-19 21:29 ` [dpdk-dev] [PATCH] examples/l2fwd: Add forward count limit Cyril Chemparathy 2015-07-10 14:20 ` Thomas Monjalon 2015-06-22 7:44 ` [dpdk-dev] [PATCH] mk: add support for gdb debug info generation Gonzalez Monroy, Sergio 2015-06-22 7:56 ` Simon Kågström 2015-06-23 7:39 ` Gonzalez Monroy, Sergio 2015-06-23 7:47 ` Thomas Monjalon 2015-06-23 10:08 ` Simon Kågström 2015-06-22 16:41 ` Cyril Chemparathy
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).