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, next has been updated discards 93e8b141c7bdfa626f8d058e4566760e13551155 (commit) discards 3bff219f684de044bd5ab83137e1e85093a622eb (commit) discards c595949e3e724102f2cdbd5edefcdc83f7b754fe (commit) via 60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946 (commit) via 710a73bb19121a880acea4a87e5a6e6cecb276ea (commit) via 2846f6773314bdb4693cf125a79c9b6367cfff15 (commit) via 197710ffc229f3db775a97c27e09c2dc063497c4 (commit) via b7d403b9f8b8f666259dccf9d994ef8a28d9facb (commit) via 2c80ef58dba783bfbf11060cab273e57ba6d0e62 (commit) via 6c6087bc5bc718bd8fb7e773b9206a4b2f7672d4 (commit) via 22721beb44a03491c6df66f8c218ed2d66692fa1 (commit) via 59b52a40e9e61992fc0089052055313774fde5f5 (commit) via aa72a6f0af30414f5bf84e3fa3a20c755517cb86 (commit) via bd0499915c84f70ce19153b13ff5573df3d578a0 (commit) via e1502b233407b5dfaf530de5c3cf97a5c20ab92b (commit)
This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this:
* -- * -- B -- O -- O -- O (93e8b141c7bdfa626f8d058e4566760e13551155) \ N -- N -- N (60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946)
When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B.
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 60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946 Author: Barry Spinney spinney@mellanox.com Date: Wed Jul 13 11:59:40 2016 -0500
api: tm: resolve todo
This todo just asks a question which is no longer important.
Signed-off-by: Barry Spinney spinney@mellanox.com Signed-off-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/api/spec/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h index c9e6f8f..3473648 100644 --- a/include/odp/api/spec/traffic_mngr.h +++ b/include/odp/api/spec/traffic_mngr.h @@ -93,7 +93,6 @@ extern "C" { * @def ODP_TM_MAX_TM_NODE_FANIN * The largest number of fan-in "inputs" that can be simultaneously connected * to a single tm_node. - * @todo Does this need to be as large as ODP_TM_MAX_TM_QUEUES? */
/** @@ -886,7 +885,7 @@ typedef struct { /** In the case that sched_modes for a given strict priority level * indicates the use of weighted scheduling, this field supplies the * weighting factors. The weights - when defined - are used such that - * the (adjusted) frame lengths are divided by these 8-bit weights + * the (adjusted) frame lengths are divided by these 8-bit weights * (i.e. they are divisors and not multipliers). Consequently a * weight of 0 (when sched_mode is ODP_TM_BYTE_BASED_WEIGHTS) is * illegal. */
commit 710a73bb19121a880acea4a87e5a6e6cecb276ea Author: Balasubramanian Manoharan bala.manoharan@linaro.org Date: Tue Jun 28 17:35:54 2016 +0530
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Replaces pktio interface as input to TM system instead of odp_pktout_queue_t.This creates an 1 to 1 mapping between a TM system and pktio interface.
Signed-off-by: Balasubramanian Manoharan bala.manoharan@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@nokia.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/api/spec/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h index 83b89e7..c9e6f8f 100644 --- a/include/odp/api/spec/traffic_mngr.h +++ b/include/odp/api/spec/traffic_mngr.h @@ -270,6 +270,12 @@ typedef struct { * have their fan_in only from tm_queues. */ uint8_t max_levels;
+ /** egress_fcn_supported indicates whether the tm system supports + * egress function. It is an optional feature used to receive the + * packet from the tm system and its performance might be limited. + */ + odp_bool_t egress_fcn_supported; + /** tm_queue_shaper_supported indicates that the tm_queues support * proper TM shaping. Note that TM Shaping is NOT the same thing as * Ingress Metering/Policing as specified by RFC 2697 (A Single Rate @@ -467,7 +473,7 @@ typedef struct { odp_tm_egress_kind_t egress_kind; /**< Union discriminator */
union { - odp_pktout_queue_t pktout; + odp_pktio_t pktio; odp_tm_egress_fcn_t egress_fcn; }; } odp_tm_egress_t; diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h b/platform/linux-generic/include/odp_traffic_mngr_internal.h index 15451ac..e4bc5ce 100644 --- a/platform/linux-generic/include/odp_traffic_mngr_internal.h +++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h @@ -380,7 +380,7 @@ typedef struct { tm_queue_info_t priority_info[ODP_TM_MAX_PRIORITIES];
tm_random_data_t tm_random_data; - + odp_pktout_queue_t pktout; uint64_t current_time; uint8_t tm_idx; uint8_t first_enq; diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c index 7a8b647..e668bf9 100644 --- a/platform/linux-generic/odp_traffic_mngr.c +++ b/platform/linux-generic/odp_traffic_mngr.c @@ -2108,7 +2108,7 @@ static void tm_send_pkt(tm_system_t *tm_system, uint32_t max_sends)
tm_system->egress_pkt_desc = EMPTY_PKT_DESC; if (tm_system->egress.egress_kind == ODP_TM_EGRESS_PKT_IO) - odp_pktout_send(tm_system->egress.pktout, &odp_pkt, 1); + odp_pktout_send(tm_system->pktout, &odp_pkt, 1); else if (tm_system->egress.egress_kind == ODP_TM_EGRESS_FN) tm_system->egress.egress_fcn(odp_pkt); else @@ -2426,6 +2426,7 @@ int odp_tm_capabilities(odp_tm_capabilities_t capabilities[] ODP_UNUSED, cap_ptr->max_tm_queues = ODP_TM_MAX_TM_QUEUES; cap_ptr->max_levels = ODP_TM_MAX_LEVELS; cap_ptr->tm_queue_shaper_supported = true; + cap_ptr->egress_fcn_supported = true; cap_ptr->tm_queue_wred_supported = true; cap_ptr->tm_queue_dual_slope_supported = true; cap_ptr->vlan_marking_supported = true; @@ -2607,6 +2608,7 @@ odp_tm_t odp_tm_create(const char *name, tm_system_t *tm_system; odp_bool_t create_fail; odp_tm_t odp_tm; + odp_pktout_queue_t pktout; uint32_t malloc_len, max_num_queues, max_queued_pkts, max_timers; uint32_t max_tm_queues, max_sorted_lists; int rc; @@ -2627,6 +2629,10 @@ odp_tm_t odp_tm_create(const char *name, return ODP_TM_INVALID; }
+ if (odp_pktout_queue(egress->pktio, &pktout, 1) != 1) + return ODP_TM_INVALID; + + tm_system->pktout = pktout; tm_system->name_tbl_id = name_tbl_id; max_tm_queues = requirements->max_tm_queues; memcpy(&tm_system->egress, egress, sizeof(odp_tm_egress_t)); diff --git a/test/validation/traffic_mngr/traffic_mngr.c b/test/validation/traffic_mngr/traffic_mngr.c index 1c4e90b..b857800 100644 --- a/test/validation/traffic_mngr/traffic_mngr.c +++ b/test/validation/traffic_mngr/traffic_mngr.c @@ -323,7 +323,7 @@ static odp_pktio_t pktios[MAX_NUM_IFACES]; static odp_pktin_queue_t pktins[MAX_NUM_IFACES]; static odp_pktout_queue_t pktouts[MAX_NUM_IFACES]; static odp_pktin_queue_t rcv_pktin; -static odp_pktout_queue_t xmt_pktout; +static odp_pktio_t xmt_pktio;
static odph_ethaddr_t src_mac; static odph_ethaddr_t dst_mac; @@ -543,7 +543,7 @@ static int open_pktios(void) }
if (2 <= num_ifaces) { - xmt_pktout = pktouts[0]; + xmt_pktio = pktios[0]; rcv_pktin = pktins[1]; ret = odp_pktio_start(pktios[1]); if (ret != 0) { @@ -551,7 +551,7 @@ static int open_pktios(void) return -1; } } else { - xmt_pktout = pktouts[0]; + xmt_pktio = pktios[0]; rcv_pktin = pktins[0]; }
@@ -1627,7 +1627,7 @@ static int create_tm_system(void) }
egress.egress_kind = ODP_TM_EGRESS_PKT_IO; - egress.pktout = xmt_pktout; + egress.pktio = xmt_pktio;
snprintf(tm_name, sizeof(tm_name), "TM_system_%u", num_odp_tm_systems); odp_tm = odp_tm_create(tm_name, &requirements, &egress);
commit 2846f6773314bdb4693cf125a79c9b6367cfff15 Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Tue May 10 18:34:37 2016 +0300
api: system: specify default huge page size
System can have different sizes for huge pages. Clarify that this api returns default system huge page size, which is usually 2Mb on x86 reachable with: grep Hugepagesize: /proc/meminfo
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@nokia.com
diff --git a/include/odp/api/spec/system_info.h b/include/odp/api/spec/system_info.h index 6957731..c5a5fd0 100644 --- a/include/odp/api/spec/system_info.h +++ b/include/odp/api/spec/system_info.h @@ -24,9 +24,9 @@ extern "C" { */
/** - * Huge page size in bytes + * Default system huge page size in bytes * - * @return Huge page size in bytes + * @return Default huge page size in bytes */ uint64_t odp_sys_huge_page_size(void);
-----------------------------------------------------------------------
Summary of changes: example/generator/odp_generator.c | 4 --- example/ipsec/Makefile.am | 18 +++++++------- example/ipsec/odp_ipsec.c | 6 +---- example/ipsec/{run_ah_in => odp_ipsec_run_ah_in} | 0 example/ipsec/{run_ah_out => odp_ipsec_run_ah_out} | 0 .../ipsec/{run_both_in => odp_ipsec_run_both_in} | 0 .../ipsec/{run_both_out => odp_ipsec_run_both_out} | 0 example/ipsec/{run_esp_in => odp_ipsec_run_esp_in} | 0 .../ipsec/{run_esp_out => odp_ipsec_run_esp_out} | 0 example/ipsec/{run_live => odp_ipsec_run_live} | 0 example/ipsec/{run_router => odp_ipsec_run_router} | 0 example/ipsec/{run_simple => odp_ipsec_run_simple} | 0 example/packet/odp_pktio.c | 4 --- example/switch/odp_switch.c | 24 ++++++++++++------ example/switch/switch_run.sh | 11 +++----- example/time/.gitignore | 2 +- example/time/Makefile.am | 8 +++--- helper/test/Makefile.am | 2 +- .../include/odp_packet_io_ring_internal.h | 1 - platform/linux-generic/odp_pool.c | 7 +++--- platform/linux-generic/pktio/dpdk.c | 20 +++++++++++---- platform/linux-generic/pktio/ipc.c | 1 + platform/linux-generic/pktio/loop.c | 8 +++++- platform/linux-generic/pktio/netmap.c | 20 +++++++++++++-- platform/linux-generic/pktio/pcap.c | 8 +++++- platform/linux-generic/pktio/socket.c | 19 ++++++++++++-- platform/linux-generic/pktio/socket_mmap.c | 19 ++++++++++++-- test/performance/odp_crypto.c | 29 ++++++++++++++++++---- test/performance/odp_l2fwd.c | 21 ++++++++++++---- 29 files changed, 162 insertions(+), 70 deletions(-) rename example/ipsec/{run_ah_in => odp_ipsec_run_ah_in} (100%) rename example/ipsec/{run_ah_out => odp_ipsec_run_ah_out} (100%) rename example/ipsec/{run_both_in => odp_ipsec_run_both_in} (100%) rename example/ipsec/{run_both_out => odp_ipsec_run_both_out} (100%) rename example/ipsec/{run_esp_in => odp_ipsec_run_esp_in} (100%) rename example/ipsec/{run_esp_out => odp_ipsec_run_esp_out} (100%) rename example/ipsec/{run_live => odp_ipsec_run_live} (100%) rename example/ipsec/{run_router => odp_ipsec_run_router} (100%) rename example/ipsec/{run_simple => odp_ipsec_run_simple} (100%)
hooks/post-receive