This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via f710dd9c76b8a7683f07574afdfc5896f8e4db7a (commit) via 3794fb4eddebf95579fa176d27ef1b82ad16dfdd (commit) from 886e54149d3ee64e56c422a0d3dd7c536e2b4b7d (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit f710dd9c76b8a7683f07574afdfc5896f8e4db7a Author: Ola Liljedahl ola.liljedahl@arm.com Date: Tue May 30 22:35:59 2017 +0200
test: disable packet parsing in odp_pktio_perf
Disable packet parsing as it is done in the driver where it affects scalability of the application. This especially problematic for e.g. the loopback pktio which has only one RX queue.
Signed-off-by: Ola Liljedahl ola.liljedahl@arm.com Reviewed-by: Brian Brooks brian.brooks@arm.com Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/test/common_plat/performance/odp_pktio_perf.c b/test/common_plat/performance/odp_pktio_perf.c index 210a833f..01c2eae1 100644 --- a/test/common_plat/performance/odp_pktio_perf.c +++ b/test/common_plat/performance/odp_pktio_perf.c @@ -739,6 +739,7 @@ static int test_init(void) odp_pool_param_t params; const char *iface; int schedule; + odp_pktio_config_t cfg;
odp_pool_param_init(¶ms); params.pkt.len = PKT_HDR_LEN + gbl_args->args.pkt_len; @@ -788,6 +789,13 @@ static int test_init(void) return -1; }
+ /* Disable packet parsing as this is done in the driver where it + * affects scalability. + */ + odp_pktio_config_init(&cfg); + cfg.parser.layer = ODP_PKTIO_PARSER_LAYER_NONE; + odp_pktio_config(gbl_args->pktio_rx, &cfg); + if (gbl_args->args.num_ifaces > 1) { if (odp_pktout_queue_config(gbl_args->pktio_rx, NULL)) { LOG_ERR("failed to configure pktio_rx queue\n");
commit 3794fb4eddebf95579fa176d27ef1b82ad16dfdd Author: Ola Liljedahl ola.liljedahl@arm.com Date: Tue May 30 22:15:01 2017 +0200
test: make odp_pktio_perf more scalable
Amortise overhead of atomic increment over multiple packets so to minimise this scalability bottleneck.
Signed-off-by: Ola Liljedahl ola.liljedahl@arm.com Reviewed-by: Brian Brooks brian.brooks@arm.com Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/test/common_plat/performance/odp_pktio_perf.c b/test/common_plat/performance/odp_pktio_perf.c index a170e128..210a833f 100644 --- a/test/common_plat/performance/odp_pktio_perf.c +++ b/test/common_plat/performance/odp_pktio_perf.c @@ -167,14 +167,13 @@ static test_globals_t *gbl_args; /* * Generate a single test packet for transmission. */ -static odp_packet_t pktio_create_packet(void) +static odp_packet_t pktio_create_packet(uint32_t seq) { odp_packet_t pkt; odph_ethhdr_t *eth; odph_ipv4hdr_t *ip; odph_udphdr_t *udp; char *buf; - uint16_t seq; uint32_t offset; pkt_head_t pkt_hdr; size_t payload_len; @@ -209,7 +208,6 @@ static odp_packet_t pktio_create_packet(void) ODPH_IPV4HDR_LEN); ip->ttl = 128; ip->proto = ODPH_IPPROTO_UDP; - seq = odp_atomic_fetch_inc_u32(&ip_seq); ip->id = odp_cpu_to_be_16(seq); ip->chksum = 0; odph_ipv4_csum_update(pkt); @@ -263,9 +261,11 @@ static int pktio_pkt_has_magic(odp_packet_t pkt) static int alloc_packets(odp_packet_t *pkt_tbl, int num_pkts) { int n; + uint16_t seq;
+ seq = odp_atomic_fetch_add_u32(&ip_seq, num_pkts); for (n = 0; n < num_pkts; ++n) { - pkt_tbl[n] = pktio_create_packet(); + pkt_tbl[n] = pktio_create_packet(seq + n); if (pkt_tbl[n] == ODP_PACKET_INVALID) break; }
-----------------------------------------------------------------------
Summary of changes: test/common_plat/performance/odp_pktio_perf.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
hooks/post-receive