* Re: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet
@ 2014-11-11 6:58 Liang, Cunming
0 siblings, 0 replies; 4+ messages in thread
From: Liang, Cunming @ 2014-11-11 6:58 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
Hi Thomas,
Gentle remind, in case you've too much mails to process.
-Liang Cunming
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liang, Cunming
> Sent: Wednesday, October 29, 2014 1:06 PM
> To: Thomas Monjalon
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per
> packet
>
> Hi Thomas,
>
> All the open issues from the former patches are closed.
> Could you please have a look and get it applied ?
>
> -Liang Cunming
>
> > -----Original Message-----
> > From: Liang, Cunming
> > Sent: Monday, October 27, 2014 9:20 AM
> > To: dev@dpdk.org
> > Cc: nhorman@tuxdriver.com; Ananyev, Konstantin; Richardson, Bruce; De Lara
> > Guarch, Pablo; Liang, Cunming
> > Subject: [PATCH v6 0/3] app/test: unit test to measure cycles per packet
> >
> > v6 update:
> > # leave FUNC_PTR_OR_*_RET unmodified
> >
> > v5 update:
> > # fix the confusing of retval in some API of rte_ethdev
> >
> > v4 ignore
> >
> > v3 update:
> > # Codes refine according to the feedback.
> > 1. add ether_format_addr to rte_ether.h
> > 2. fix typo in code comments.
> > 3. %lu to %PRIu64, fixing 32-bit targets compilation err
> > # merge 2 small incremental patches to the first one.
> > The whole unit test as a single patch in [PATCH v3 2/2]
> > # rebase code to the latest master
> >
> > v2 update:
> > Rebase code to the latest master branch.
> >
> > It provides unit test to measure cycles/packet in NIC loopback mode.
> > It simply gives the average cycles of IO used per packet without test equipment.
> > When doing the test, make sure the link is UP.
> >
> > There's two stream control mode support, one is continues, another is burst.
> > The former continues to forward the injected packets until reaching a certain
> > amount of number.
> > The latter one stop when all the injected packets are received.
> > In burst stream, now measure two situations, with or without desc. cache
> conflict.
> > By default, it runs in continues stream mode to measure the whole rxtx.
> >
> > Usage Example:
> > 1. Run unit test app in interactive mode
> > app/test -c f -n 4 -- -i
> > 2. Set stream control mode, by default is continuous
> > set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit]
> > 3. If choose continuous stream, there are another two options can configure
> > 3.1 choose rx/tx pair, default is vector
> > set_rxtx_mode [vector|scalar|full|hybrid]
> > Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without
> > INC_VEC=y in config
> > 3.2 choose the area of masurement, default is rxtx
> > set_rxtx_anchor [rxtx|rxonly|txonly]
> > 4. Run and wait for the result
> > pmd_perf_autotest
> >
> > For who simply just want to see how much cycles cost per packet.
> > Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it.
> > Nothing else needs to configure.
> > Using other options when you understand and what to measures more.
> >
> >
> > BTW, [1/3] is the same patch as below one.
> > http://dpdk.org/dev/patchwork/patch/817
> >
> > *** BLURB HERE ***
> >
> > Cunming Liang (3):
> > app/test: allow to create packets in different sizes
> > app/test: measure the cost of rx/tx routines by cycle number
> > ethdev: fix wrong error return refer to API definition
> >
> > app/test/Makefile | 1 +
> > app/test/commands.c | 111 +++++
> > app/test/packet_burst_generator.c | 26 +-
> > app/test/packet_burst_generator.h | 11 +-
> > app/test/test.h | 6 +
> > app/test/test_link_bonding.c | 39 +-
> > app/test/test_pmd_perf.c | 922
> > +++++++++++++++++++++++++++++++++++
> > lib/librte_ether/rte_ethdev.c | 6 +-
> > lib/librte_ether/rte_ether.h | 25 +
> > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
> > 10 files changed, 1117 insertions(+), 36 deletions(-)
> > create mode 100644 app/test/test_pmd_perf.c
> >
> > --
> > 1.7.4.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dpdk-dev] [PATCH v5 0/3] app/test: unit test to measure cycles per packet
@ 2014-10-24 5:57 Cunming Liang
2014-10-27 1:20 ` [dpdk-dev] [PATCH v6 " Cunming Liang
0 siblings, 1 reply; 4+ messages in thread
From: Cunming Liang @ 2014-10-24 5:57 UTC (permalink / raw)
To: dev
BTW, [1/3] is the same patch as below one.
http://dpdk.org/dev/patchwork/patch/817
v5 update:
# fix the confusing of retval in some API of rte_ethdev
v4 ignore
v3 update:
# Codes refine according to the feedback.
1. add ether_format_addr to rte_ether.h
2. fix typo in code comments.
3. %lu to %PRIu64, fixing 32-bit targets compilation err
# merge 2 small incremental patches to the first one.
The whole unit test as a single patch in [PATCH v3 2/2]
# rebase code to the latest master
v2 update:
Rebase code to the latest master branch.
It provides unit test to measure cycles/packet in NIC loopback mode.
It simply gives the average cycles of IO used per packet without test equipment.
When doing the test, make sure the link is UP.
There's two stream control mode support, one is continues, another is burst.
The former continues to forward the injected packets until reaching a certain amount of number.
The latter one stop when all the injected packets are received.
In burst stream, now measure two situations, with or without desc. cache conflict.
By default, it runs in continues stream mode to measure the whole rxtx.
Usage Example:
1. Run unit test app in interactive mode
app/test -c f -n 4 -- -i
2. Set stream control mode, by default is continuous
set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit]
3. If choose continuous stream, there are another two options can configure
3.1 choose rx/tx pair, default is vector
set_rxtx_mode [vector|scalar|full|hybrid]
Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without INC_VEC=y in config
3.2 choose the area of masurement, default is rxtx
set_rxtx_anchor [rxtx|rxonly|txonly]
4. Run and wait for the result
pmd_perf_autotest
For who simply just want to see how much cycles cost per packet.
Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it.
Nothing else needs to configure.
Using other options when you understand and what to measures more.
*** BLURB HERE ***
Cunming Liang (3):
app/test: allow to create packets in different sizes
app/test: measure the cost of rx/tx routines by cycle number
ethdev: fix wrong error return refere to API definition
app/test/Makefile | 1 +
app/test/commands.c | 111 +++++
app/test/packet_burst_generator.c | 26 +-
app/test/packet_burst_generator.h | 11 +-
app/test/test.h | 6 +
app/test/test_link_bonding.c | 39 +-
app/test/test_pmd_perf.c | 922 +++++++++++++++++++++++++++++++++++
lib/librte_ether/rte_ethdev.c | 10 +-
lib/librte_ether/rte_ether.h | 25 +
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
10 files changed, 1121 insertions(+), 36 deletions(-)
create mode 100644 app/test/test_pmd_perf.c
--
1.7.4.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet
2014-10-24 5:57 [dpdk-dev] [PATCH v5 " Cunming Liang
@ 2014-10-27 1:20 ` Cunming Liang
2014-10-27 1:45 ` Liu, Yong
2014-10-29 5:06 ` Liang, Cunming
0 siblings, 2 replies; 4+ messages in thread
From: Cunming Liang @ 2014-10-27 1:20 UTC (permalink / raw)
To: dev
v6 update:
# leave FUNC_PTR_OR_*_RET unmodified
v5 update:
# fix the confusing of retval in some API of rte_ethdev
v4 ignore
v3 update:
# Codes refine according to the feedback.
1. add ether_format_addr to rte_ether.h
2. fix typo in code comments.
3. %lu to %PRIu64, fixing 32-bit targets compilation err
# merge 2 small incremental patches to the first one.
The whole unit test as a single patch in [PATCH v3 2/2]
# rebase code to the latest master
v2 update:
Rebase code to the latest master branch.
It provides unit test to measure cycles/packet in NIC loopback mode.
It simply gives the average cycles of IO used per packet without test equipment.
When doing the test, make sure the link is UP.
There's two stream control mode support, one is continues, another is burst.
The former continues to forward the injected packets until reaching a certain amount of number.
The latter one stop when all the injected packets are received.
In burst stream, now measure two situations, with or without desc. cache conflict.
By default, it runs in continues stream mode to measure the whole rxtx.
Usage Example:
1. Run unit test app in interactive mode
app/test -c f -n 4 -- -i
2. Set stream control mode, by default is continuous
set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit]
3. If choose continuous stream, there are another two options can configure
3.1 choose rx/tx pair, default is vector
set_rxtx_mode [vector|scalar|full|hybrid]
Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without INC_VEC=y in config
3.2 choose the area of masurement, default is rxtx
set_rxtx_anchor [rxtx|rxonly|txonly]
4. Run and wait for the result
pmd_perf_autotest
For who simply just want to see how much cycles cost per packet.
Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it.
Nothing else needs to configure.
Using other options when you understand and what to measures more.
BTW, [1/3] is the same patch as below one.
http://dpdk.org/dev/patchwork/patch/817
*** BLURB HERE ***
Cunming Liang (3):
app/test: allow to create packets in different sizes
app/test: measure the cost of rx/tx routines by cycle number
ethdev: fix wrong error return refere to API definition
app/test/Makefile | 1 +
app/test/commands.c | 111 +++++
app/test/packet_burst_generator.c | 26 +-
app/test/packet_burst_generator.h | 11 +-
app/test/test.h | 6 +
app/test/test_link_bonding.c | 39 +-
app/test/test_pmd_perf.c | 922 +++++++++++++++++++++++++++++++++++
lib/librte_ether/rte_ethdev.c | 6 +-
lib/librte_ether/rte_ether.h | 25 +
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
10 files changed, 1117 insertions(+), 36 deletions(-)
create mode 100644 app/test/test_pmd_perf.c
--
1.7.4.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet
2014-10-27 1:20 ` [dpdk-dev] [PATCH v6 " Cunming Liang
@ 2014-10-27 1:45 ` Liu, Yong
2014-10-29 5:06 ` Liang, Cunming
1 sibling, 0 replies; 4+ messages in thread
From: Liu, Yong @ 2014-10-27 1:45 UTC (permalink / raw)
To: Liang, Cunming, dev
Tested-by: Yong Liu <yong.liu@intel.com>
- Tested Commit: 1ab07743b21b785a71fa334641ab58e779532600
- OS: Fedora20 3.15.8-200.fc20.x86_64
- GCC: gcc version 4.8.3 20140624
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
- Default x86_64-native-linuxapp-gcc configuration
- Total 2 cases, 2 passed, 0 failed
- Case: Continuous Mode Performance
Description: Measure continous mode cycles/packet in NIC loopback mode
Command / instruction:
Start sample test application.
./app/test/test -n 1 -c ffff
Set stream control mode to continuous
RTE>>set_rxtx_sc continuous
Choose rx/tx pair between vector|scalar|full|hybrid
RTE>>set_rxtx_mode vector
Choose the area of measurement
RTE>>set_rxtx_anchor rxtx
Start pmd performance measurement
RTE>>pmd_perf_autotest
Expected test result:
Test result is OK and output cycle number for each packet.
- Case: Burst Mode Performance
Description: Measure burst mode cycles/packet in NIC loopback mode
Command / instruction:
Start sample test application.
./app/test/test -n 1 -c ffff
Set stream control mode to poll_before_xmit or poll_after_xmit.
RTE>>set_rxtx_sc poll_before_xmit
Start pmd performance measurement
RTE>>pmd_perf_autotest
Expected test result:
Test result is OK and output cycle number for each packet.
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cunming Liang
> Sent: Monday, October 27, 2014 9:20 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per
> packet
>
> v6 update:
> # leave FUNC_PTR_OR_*_RET unmodified
>
> v5 update:
> # fix the confusing of retval in some API of rte_ethdev
>
> v4 ignore
>
> v3 update:
> # Codes refine according to the feedback.
> 1. add ether_format_addr to rte_ether.h
> 2. fix typo in code comments.
> 3. %lu to %PRIu64, fixing 32-bit targets compilation err
> # merge 2 small incremental patches to the first one.
> The whole unit test as a single patch in [PATCH v3 2/2]
> # rebase code to the latest master
>
> v2 update:
> Rebase code to the latest master branch.
>
> It provides unit test to measure cycles/packet in NIC loopback mode.
> It simply gives the average cycles of IO used per packet without test
> equipment.
> When doing the test, make sure the link is UP.
>
> There's two stream control mode support, one is continues, another is burst.
> The former continues to forward the injected packets until reaching a certain
> amount of number.
> The latter one stop when all the injected packets are received.
> In burst stream, now measure two situations, with or without desc. cache
> conflict.
> By default, it runs in continues stream mode to measure the whole rxtx.
>
> Usage Example:
> 1. Run unit test app in interactive mode
> app/test -c f -n 4 -- -i
> 2. Set stream control mode, by default is continuous
> set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit]
> 3. If choose continuous stream, there are another two options can configure
> 3.1 choose rx/tx pair, default is vector
> set_rxtx_mode [vector|scalar|full|hybrid]
> Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without
> INC_VEC=y in config
> 3.2 choose the area of masurement, default is rxtx
> set_rxtx_anchor [rxtx|rxonly|txonly]
> 4. Run and wait for the result
> pmd_perf_autotest
>
> For who simply just want to see how much cycles cost per packet.
> Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it.
> Nothing else needs to configure.
> Using other options when you understand and what to measures more.
>
>
> BTW, [1/3] is the same patch as below one.
> http://dpdk.org/dev/patchwork/patch/817
>
> *** BLURB HERE ***
>
> Cunming Liang (3):
> app/test: allow to create packets in different sizes
> app/test: measure the cost of rx/tx routines by cycle number
> ethdev: fix wrong error return refere to API definition
>
> app/test/Makefile | 1 +
> app/test/commands.c | 111 +++++
> app/test/packet_burst_generator.c | 26 +-
> app/test/packet_burst_generator.h | 11 +-
> app/test/test.h | 6 +
> app/test/test_link_bonding.c | 39 +-
> app/test/test_pmd_perf.c | 922
> +++++++++++++++++++++++++++++++++++
> lib/librte_ether/rte_ethdev.c | 6 +-
> lib/librte_ether/rte_ether.h | 25 +
> lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
> 10 files changed, 1117 insertions(+), 36 deletions(-)
> create mode 100644 app/test/test_pmd_perf.c
>
> --
> 1.7.4.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet
2014-10-27 1:20 ` [dpdk-dev] [PATCH v6 " Cunming Liang
2014-10-27 1:45 ` Liu, Yong
@ 2014-10-29 5:06 ` Liang, Cunming
1 sibling, 0 replies; 4+ messages in thread
From: Liang, Cunming @ 2014-10-29 5:06 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
Hi Thomas,
All the open issues from the former patches are closed.
Could you please have a look and get it applied ?
-Liang Cunming
> -----Original Message-----
> From: Liang, Cunming
> Sent: Monday, October 27, 2014 9:20 AM
> To: dev@dpdk.org
> Cc: nhorman@tuxdriver.com; Ananyev, Konstantin; Richardson, Bruce; De Lara
> Guarch, Pablo; Liang, Cunming
> Subject: [PATCH v6 0/3] app/test: unit test to measure cycles per packet
>
> v6 update:
> # leave FUNC_PTR_OR_*_RET unmodified
>
> v5 update:
> # fix the confusing of retval in some API of rte_ethdev
>
> v4 ignore
>
> v3 update:
> # Codes refine according to the feedback.
> 1. add ether_format_addr to rte_ether.h
> 2. fix typo in code comments.
> 3. %lu to %PRIu64, fixing 32-bit targets compilation err
> # merge 2 small incremental patches to the first one.
> The whole unit test as a single patch in [PATCH v3 2/2]
> # rebase code to the latest master
>
> v2 update:
> Rebase code to the latest master branch.
>
> It provides unit test to measure cycles/packet in NIC loopback mode.
> It simply gives the average cycles of IO used per packet without test equipment.
> When doing the test, make sure the link is UP.
>
> There's two stream control mode support, one is continues, another is burst.
> The former continues to forward the injected packets until reaching a certain
> amount of number.
> The latter one stop when all the injected packets are received.
> In burst stream, now measure two situations, with or without desc. cache conflict.
> By default, it runs in continues stream mode to measure the whole rxtx.
>
> Usage Example:
> 1. Run unit test app in interactive mode
> app/test -c f -n 4 -- -i
> 2. Set stream control mode, by default is continuous
> set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit]
> 3. If choose continuous stream, there are another two options can configure
> 3.1 choose rx/tx pair, default is vector
> set_rxtx_mode [vector|scalar|full|hybrid]
> Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without
> INC_VEC=y in config
> 3.2 choose the area of masurement, default is rxtx
> set_rxtx_anchor [rxtx|rxonly|txonly]
> 4. Run and wait for the result
> pmd_perf_autotest
>
> For who simply just want to see how much cycles cost per packet.
> Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it.
> Nothing else needs to configure.
> Using other options when you understand and what to measures more.
>
>
> BTW, [1/3] is the same patch as below one.
> http://dpdk.org/dev/patchwork/patch/817
>
> *** BLURB HERE ***
>
> Cunming Liang (3):
> app/test: allow to create packets in different sizes
> app/test: measure the cost of rx/tx routines by cycle number
> ethdev: fix wrong error return refer to API definition
>
> app/test/Makefile | 1 +
> app/test/commands.c | 111 +++++
> app/test/packet_burst_generator.c | 26 +-
> app/test/packet_burst_generator.h | 11 +-
> app/test/test.h | 6 +
> app/test/test_link_bonding.c | 39 +-
> app/test/test_pmd_perf.c | 922
> +++++++++++++++++++++++++++++++++++
> lib/librte_ether/rte_ethdev.c | 6 +-
> lib/librte_ether/rte_ether.h | 25 +
> lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
> 10 files changed, 1117 insertions(+), 36 deletions(-)
> create mode 100644 app/test/test_pmd_perf.c
>
> --
> 1.7.4.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-11-11 6:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-11 6:58 [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet Liang, Cunming
-- strict thread matches above, loose matches on Subject: below --
2014-10-24 5:57 [dpdk-dev] [PATCH v5 " Cunming Liang
2014-10-27 1:20 ` [dpdk-dev] [PATCH v6 " Cunming Liang
2014-10-27 1:45 ` Liu, Yong
2014-10-29 5:06 ` Liang, Cunming
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).