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 c53a2a74017a8b61a7b37bf43f2e9663e9faf8a3 (commit) discards 35e5e2bc98dcf673f63016e10a374cdf18689d92 (commit) via 93e8b141c7bdfa626f8d058e4566760e13551155 (commit) via 3bff219f684de044bd5ab83137e1e85093a622eb (commit) via c595949e3e724102f2cdbd5edefcdc83f7b754fe (commit) via 9405b1770b78b774e7dbe6073f3f85d709541a26 (commit) via 86939bf150967b4f2a9f0580aab9727388662496 (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 (c53a2a74017a8b61a7b37bf43f2e9663e9faf8a3) \ N -- N -- N (93e8b141c7bdfa626f8d058e4566760e13551155)
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 93e8b141c7bdfa626f8d058e4566760e13551155 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 3bff219f684de044bd5ab83137e1e85093a622eb 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 c595949e3e724102f2cdbd5edefcdc83f7b754fe 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: include/odp/api/spec/traffic_mngr.h | 3 +- .../include/odp_traffic_mngr_internal.h | 3 ++ platform/linux-generic/odp_name_table.c | 2 +- platform/linux-generic/odp_traffic_mngr.c | 37 ++++++++-------------- 4 files changed, 19 insertions(+), 26 deletions(-)
hooks/post-receive