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, api-next has been updated via 859293ad9b3c862264bb0fbfe8e7037b5e04d084 (commit) via 307ebe505ceb2de6ea03c29f37de0d3a5db850ed (commit) via 7b835f0e9eac18eba901e42f4054110bae9b78f5 (commit) via 8705e548f330d23173283fcca62f4afb835a6380 (commit) via eafd83ed1d036a404a18874d80c11d454d2580d3 (commit) via aecb3c7a442b426761f1e6f43308a1e9ea709ef3 (commit) via cb58da98065d255a23b80fe7f00412b1049c3b2c (commit) via 7bb364313bfeed59556e167bfa848e9ea6f52669 (commit) via 0bc12ffcf7898515c74a5567b832dcfc913d831a (commit) via 22ec8f3aefe9b2c92020cd9aa36e9f8e5a380799 (commit) via 2119e4548281ed50fecc5fe9f5bddcaa2adee2de (commit) via 8b435cae63abbf0d44899b5bb87bb0aeb488ca2d (commit) via 63c36bee7658d9dcf7126fe67b1eb9f74cb31d46 (commit) via 90d4ce1b3b25ca18446131906007571cc0ed0191 (commit) from 3547226b19e6982bf74fc8c258b89db2c5f6a39c (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 859293ad9b3c862264bb0fbfe8e7037b5e04d084 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Wed Aug 2 12:47:06 2017 +0300
linux-gen: crypto: unify odp_crypto_session_create error path
Make sure that or error session is always returned as ODP_CRYPTO_SESSION_INVALID.
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Balasubramanian Manoharan bala.manoharan@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c index af166c5d..9ae84ca4 100644 --- a/platform/linux-generic/odp_crypto.c +++ b/platform/linux-generic/odp_crypto.c @@ -701,14 +701,11 @@ odp_crypto_session_create(odp_crypto_session_param_t *param, odp_crypto_generic_session_t *session; int aes_gcm = 0;
- /* Default to successful result */ - *status = ODP_CRYPTO_SES_CREATE_ERR_NONE; - /* Allocate memory for this session */ session = alloc_session(); if (NULL == session) { *status = ODP_CRYPTO_SES_CREATE_ERR_ENOMEM; - return -1; + goto err; }
/* Copy parameters */ @@ -716,8 +713,8 @@ odp_crypto_session_create(odp_crypto_session_param_t *param,
if (session->p.iv.length > MAX_IV_LEN) { ODP_DBG("Maximum IV length exceeded\n"); - free_session(session); - return -1; + *status = ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER; + goto err; }
/* Copy IV data */ @@ -768,8 +765,7 @@ odp_crypto_session_create(odp_crypto_session_param_t *param, /* Check result */ if (rc) { *status = ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER; - free_session(session); - return -1; + goto err; }
aes_gcm = 0; @@ -829,13 +825,20 @@ odp_crypto_session_create(odp_crypto_session_param_t *param, /* Check result */ if (rc) { *status = ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH; - free_session(session); - return -1; + goto err; }
/* We're happy */ *session_out = (intptr_t)session; + *status = ODP_CRYPTO_SES_CREATE_ERR_NONE; return 0; + +err: + /* error status should be set at this moment */ + if (session != NULL) + free_session(session); + *session_out = ODP_CRYPTO_SESSION_INVALID; + return -1; }
int odp_crypto_session_destroy(odp_crypto_session_t session)
commit 307ebe505ceb2de6ea03c29f37de0d3a5db850ed Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Mon Jul 31 16:35:54 2017 +0300
api: crypto: clarify for odp_crypto_session_create
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Balasubramanian Manoharan bala.manoharan@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/api/spec/crypto.h b/include/odp/api/spec/crypto.h index 3b8e9ddb..7dcb7126 100644 --- a/include/odp/api/spec/crypto.h +++ b/include/odp/api/spec/crypto.h @@ -648,11 +648,12 @@ int odp_crypto_auth_capability(odp_auth_alg_t auth, * * Create a crypto session according to the session parameters. Use * odp_crypto_session_param_init() to initialize parameters into their - * default values. + * default values. If call ends up with an error no new session will be + * created. * - * @param param Session parameters - * @param session Created session else ODP_CRYPTO_SESSION_INVALID - * @param status Failure code if unsuccessful + * @param param Session parameters + * @param[out] session Created session else ODP_CRYPTO_SESSION_INVALID + * @param[out] status Failure code if unsuccessful * * @retval 0 on success * @retval <0 on failure
commit 7b835f0e9eac18eba901e42f4054110bae9b78f5 Merge: 7bb36431 8705e548 Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Wed Aug 23 18:11:46 2017 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --cc test/common_plat/performance/odp_l2fwd.c index 851614d6,25a92cc3..6a75aa8d --- a/test/common_plat/performance/odp_l2fwd.c +++ b/test/common_plat/performance/odp_l2fwd.c @@@ -1387,19 -1431,13 +1431,23 @@@ int main(int argc, char *argv[] odp_instance_t instance; int num_groups; odp_schedule_group_t group[MAX_PKTIOS]; + odp_init_t init; + + odp_init_param_init(&init); + + /* List features not to be used (may optimize performance) */ + init.not_used.feat.cls = 1; + init.not_used.feat.crypto = 1; + init.not_used.feat.ipsec = 1; + init.not_used.feat.timer = 1; + init.not_used.feat.tm = 1;
+ /* Signal handler has to be registered before global init in case ODP + * implementation creates internal threads/processes. */ + signal(SIGINT, sig_handler); + /* Init ODP before calling anything else */ - if (odp_init_global(&instance, NULL, NULL)) { + if (odp_init_global(&instance, &init, NULL)) { LOG_ERR("Error: ODP global init failed.\n"); exit(EXIT_FAILURE); }
commit 7bb364313bfeed59556e167bfa848e9ea6f52669 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Fri Aug 4 11:43:39 2017 +0300
linux-gen: scalable queue: mark queue_shm_pool as static
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Brian Brooks brian.brooks@arm.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_queue_scalable.c b/platform/linux-generic/odp_queue_scalable.c index 503b40f5..79148060 100644 --- a/platform/linux-generic/odp_queue_scalable.c +++ b/platform/linux-generic/odp_queue_scalable.c @@ -49,7 +49,7 @@ typedef struct queue_table_t { } queue_table_t;
static queue_table_t *queue_tbl; -_odp_ishm_pool_t *queue_shm_pool; +static _odp_ishm_pool_t *queue_shm_pool;
static inline odp_queue_t queue_from_id(uint32_t queue_id) {
commit 0bc12ffcf7898515c74a5567b832dcfc913d831a Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Fri Aug 4 11:43:27 2017 +0300
linux-gen: scalable sched: mark sched_grp_lock as static
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Brian Brooks brian.brooks@arm.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/odp_schedule_scalable.c b/platform/linux-generic/odp_schedule_scalable.c index 78159b53..a289a7d7 100644 --- a/platform/linux-generic/odp_schedule_scalable.c +++ b/platform/linux-generic/odp_schedule_scalable.c @@ -87,7 +87,7 @@ ODP_STATIC_ASSERT(CHECK_IS_POWER2(ODP_CONFIG_QUEUES), static sched_group_mask_t sg_free; static sched_group_t *sg_vec[MAX_SCHED_GROUP]; /* Group lock for MT-safe APIs */ -odp_spinlock_t sched_grp_lock; +static odp_spinlock_t sched_grp_lock;
#define SCHED_GROUP_JOIN 0 #define SCHED_GROUP_LEAVE 1
commit 22ec8f3aefe9b2c92020cd9aa36e9f8e5a380799 Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Fri Aug 4 11:37:51 2017 +0300
linux-gen: scalable sched: mark several function as static
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Brian Brooks brian.brooks@arm.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/include/odp_schedule_scalable_ordered.h b/platform/linux-generic/include/odp_schedule_scalable_ordered.h index 941304b7..1c365a2b 100644 --- a/platform/linux-generic/include/odp_schedule_scalable_ordered.h +++ b/platform/linux-generic/include/odp_schedule_scalable_ordered.h @@ -115,17 +115,8 @@ reorder_window_t *rwin_alloc(_odp_ishm_pool_t *pool, unsigned lock_count); int rwin_free(_odp_ishm_pool_t *pool, reorder_window_t *rwin); bool rwin_reserve(reorder_window_t *rwin, uint32_t *sn); -void rwin_insert(reorder_window_t *rwin, - reorder_context_t *rctx, - uint32_t sn, - void (*callback)(reorder_context_t *)); void rctx_init(reorder_context_t *rctx, uint16_t idx, reorder_window_t *rwin, uint32_t sn); -void rctx_free(const reorder_context_t *rctx); -void olock_unlock(const reorder_context_t *rctx, reorder_window_t *rwin, - uint32_t lock_index); -void olock_release(const reorder_context_t *rctx); -void rctx_retire(reorder_context_t *first); void rctx_release(reorder_context_t *rctx); int rctx_save(queue_entry_t *queue, odp_buffer_hdr_t *buf_hdr[], int num);
diff --git a/platform/linux-generic/odp_schedule_scalable_ordered.c b/platform/linux-generic/odp_schedule_scalable_ordered.c index 90ddb61c..e4468a90 100644 --- a/platform/linux-generic/odp_schedule_scalable_ordered.c +++ b/platform/linux-generic/odp_schedule_scalable_ordered.c @@ -71,10 +71,10 @@ bool rwin_reserve(reorder_window_t *rwin, uint32_t *sn) return true; }
-void rwin_insert(reorder_window_t *rwin, - reorder_context_t *rctx, - uint32_t sn, - void (*callback)(reorder_context_t *)) +static void rwin_insert(reorder_window_t *rwin, + reorder_context_t *rctx, + uint32_t sn, + void (*callback)(reorder_context_t *)) { /* Initialise to silence scan-build */ hc_t old = {0, 0}; @@ -172,7 +172,7 @@ void rctx_init(reorder_context_t *rctx, uint16_t idx, rctx->numevts = 0; }
-inline void rctx_free(const reorder_context_t *rctx) +static inline void rctx_free(const reorder_context_t *rctx) { const reorder_context_t *const base = &rctx[-(int)rctx->idx]; const uint32_t first = rctx->idx; @@ -206,8 +206,9 @@ inline void rctx_free(const reorder_context_t *rctx) } }
-inline void olock_unlock(const reorder_context_t *rctx, reorder_window_t *rwin, - uint32_t lock_index) +static inline void olock_unlock(const reorder_context_t *rctx, + reorder_window_t *rwin, + uint32_t lock_index) { if ((rctx->olock_flags & (1U << lock_index)) == 0) { /* Use relaxed ordering, we are not releasing any updates */ @@ -215,7 +216,7 @@ inline void olock_unlock(const reorder_context_t *rctx, reorder_window_t *rwin, } }
-void olock_release(const reorder_context_t *rctx) +static void olock_release(const reorder_context_t *rctx) { reorder_window_t *rwin; int i; @@ -246,7 +247,7 @@ static void blocking_enqueue(queue_entry_t *q, odp_buffer_hdr_t **evts, int num) } }
-void rctx_retire(reorder_context_t *first) +static void rctx_retire(reorder_context_t *first) { reorder_context_t *rctx; queue_entry_t *q;
commit 2119e4548281ed50fecc5fe9f5bddcaa2adee2de Author: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Date: Fri Aug 4 11:23:39 2017 +0300
linux-gen: classification: mark several functions as static
Signed-off-by: Dmitry Eremin-Solenikov dmitry.ereminsolenikov@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Brian Brooks brian.brooks@arm.com Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/include/odp_classification_internal.h b/platform/linux-generic/include/odp_classification_internal.h index 208b0f5b..8882a717 100644 --- a/platform/linux-generic/include/odp_classification_internal.h +++ b/platform/linux-generic/include/odp_classification_internal.h @@ -49,13 +49,6 @@ This function should be called during pktio initialization. **/ int pktio_classifier_init(pktio_entry_t *pktio);
-void _odp_cls_update_hash_proto(cos_t *cos, - odp_pktin_hash_proto_t hash_proto); - -uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr, - odp_cls_hash_proto_t hash_proto, - const uint8_t *base); - #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c index f9a82a2e..a785c604 100644 --- a/platform/linux-generic/odp_classification.c +++ b/platform/linux-generic/odp_classification.c @@ -33,7 +33,7 @@ static cos_tbl_t *cos_tbl; static pmr_tbl_t *pmr_tbl; static _cls_queue_grp_tbl_t *queue_grp_tbl;
-const rss_key default_rss = { +static const rss_key default_rss = { .u8 = { 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, 0x41, 0x67, 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0, @@ -191,7 +191,8 @@ int odp_cls_capability(odp_cls_capability_t *capability) return 0; }
-void _odp_cls_update_hash_proto(cos_t *cos, odp_pktin_hash_proto_t hash_proto) +static void _odp_cls_update_hash_proto(cos_t *cos, + odp_pktin_hash_proto_t hash_proto) { if (hash_proto.proto.ipv4 || hash_proto.proto.ipv4_tcp || hash_proto.proto.ipv4_udp) @@ -934,6 +935,10 @@ static inline cos_t *cls_select_cos(pktio_entry_t *entry, return cls->default_cos; }
+static uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr, + odp_cls_hash_proto_t hash_proto, + const uint8_t *base); + /** * Classify packet * @@ -989,9 +994,9 @@ int cls_classify_packet(pktio_entry_t *entry, const uint8_t *base, return 0; }
-uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr, - odp_cls_hash_proto_t hash_proto, - const uint8_t *base) +static uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr, + odp_cls_hash_proto_t hash_proto, + const uint8_t *base) { thash_tuple_t tuple; const _odp_ipv4hdr_t *ipv4;
-----------------------------------------------------------------------
Summary of changes: .travis.yml | 14 +- doc/images/segment.svg | 181 +++++++++++---------- helper/test/linux/process.c | 7 +- helper/test/linux/pthread.c | 7 +- helper/test/odpthreads.c | 7 +- include/odp/api/spec/crypto.h | 9 +- .../include/odp_classification_internal.h | 7 - .../include/odp_schedule_scalable_ordered.h | 9 - platform/linux-generic/odp_classification.c | 15 +- platform/linux-generic/odp_crypto.c | 23 +-- platform/linux-generic/odp_queue_scalable.c | 2 +- platform/linux-generic/odp_schedule_scalable.c | 2 +- .../linux-generic/odp_schedule_scalable_ordered.c | 19 ++- platform/linux-generic/pktio/loop.c | 20 +-- test/common_plat/performance/odp_l2fwd.c | 87 ++++++++-- .../classification/odp_classification_test_pmr.c | 2 - 16 files changed, 236 insertions(+), 175 deletions(-)
hooks/post-receive