From patchwork Wed Sep 9 10:06:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Uvarov X-Patchwork-Id: 53313 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-la0-f70.google.com (mail-la0-f70.google.com [209.85.215.70]) by patches.linaro.org (Postfix) with ESMTPS id 3ABDF22B19 for ; Wed, 9 Sep 2015 10:12:07 +0000 (UTC) Received: by lagj9 with SMTP id j9sf2223036lag.0 for ; Wed, 09 Sep 2015 03:12:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:delivered-to:from:to:date :message-id:in-reply-to:references:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :mime-version:content-type:content-transfer-encoding:errors-to :sender:x-original-sender:x-original-authentication-results :mailing-list; bh=UwD3AtJ9H9wSqjQA0xkFB0/hoFeZ9rGkCWl8RyBLxFs=; b=AZUok678N6f/q9urHT1cEtpSA8/PlQDiV3kMB0UHANlysH1z+CLs2CEg5vjE0IM/fF RcBth1C+t5m3KREvh2OmxZOULMkUlETOeWn8w1cyZWlH/sFiOa5venI3zuKhsfPcdhW7 5jKH1lPZONYg0a32MyXLX1cPbxKVwYblZn/IhoW4QRUZoKywCepdrpkLLjtc9hr8XpJF MN/TYNQFVKxB4vAMKIvWIF1pt2WQt5LfpoZo0XFdKILPfn/d2Lra58lITIOBUjkWSnWo 7kqxm+fR0uKzob2MSSFSxHRApyMP+7/VSbuWqrYqJHgn1OmIEhlDZugGF7faf/NqMh/m GXPQ== X-Gm-Message-State: ALoCoQm0rymRI+lg3uonCkIJQjOMMpJs6lydwwklsrDLkzBpkucO+0K82T3W++A43CiCUVCVdv79 X-Received: by 10.112.202.165 with SMTP id kj5mr7795031lbc.5.1441793526112; Wed, 09 Sep 2015 03:12:06 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.4.71 with SMTP id i7ls26555lai.11.gmail; Wed, 09 Sep 2015 03:12:05 -0700 (PDT) X-Received: by 10.153.7.172 with SMTP id dd12mr28206891lad.25.1441793525937; Wed, 09 Sep 2015 03:12:05 -0700 (PDT) Received: from mail-la0-f50.google.com (mail-la0-f50.google.com. [209.85.215.50]) by mx.google.com with ESMTPS id o10si6205753lao.120.2015.09.09.03.12.05 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Sep 2015 03:12:05 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.50 as permitted sender) client-ip=209.85.215.50; Received: by lagj9 with SMTP id j9so3499856lag.2 for ; Wed, 09 Sep 2015 03:12:05 -0700 (PDT) X-Received: by 10.152.5.228 with SMTP id v4mr27918283lav.36.1441793525791; Wed, 09 Sep 2015 03:12:05 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp228655lbq; Wed, 9 Sep 2015 03:12:04 -0700 (PDT) X-Received: by 10.140.233.213 with SMTP id e204mr44984990qhc.27.1441793523987; Wed, 09 Sep 2015 03:12:03 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id o66si7545697qhb.117.2015.09.09.03.12.03; Wed, 09 Sep 2015 03:12:03 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Received: by lists.linaro.org (Postfix, from userid 109) id 133A161D32; Wed, 9 Sep 2015 10:12:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id CDA9D61989; Wed, 9 Sep 2015 10:07:23 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 1BBF761D32; Wed, 9 Sep 2015 10:06:56 +0000 (UTC) Received: from mail-la0-f49.google.com (mail-la0-f49.google.com [209.85.215.49]) by lists.linaro.org (Postfix) with ESMTPS id E933061CEB for ; Wed, 9 Sep 2015 10:06:47 +0000 (UTC) Received: by laeb10 with SMTP id b10so3444322lae.1 for ; Wed, 09 Sep 2015 03:06:47 -0700 (PDT) X-Received: by 10.152.27.70 with SMTP id r6mr8265930lag.67.1441793206905; Wed, 09 Sep 2015 03:06:46 -0700 (PDT) Received: from localhost.localdomain (ppp91-76-161-180.pppoe.mtu-net.ru. [91.76.161.180]) by smtp.gmail.com with ESMTPSA id qu6sm1654092lbb.27.2015.09.09.03.06.45 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Sep 2015 03:06:46 -0700 (PDT) From: Maxim Uvarov To: lng-odp@lists.linaro.org Date: Wed, 9 Sep 2015 13:06:36 +0300 Message-Id: <1441793199-30966-4-git-send-email-maxim.uvarov@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1441793199-30966-1-git-send-email-maxim.uvarov@linaro.org> References: <1441793199-30966-1-git-send-email-maxim.uvarov@linaro.org> X-Topics: patch Subject: [lng-odp] [PATCH 3/6] linux-generic: rename odph_ring.., to shm_ring... X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: maxim.uvarov@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.50 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 Drop odph_ prefix due to it's not helper anymore and do not add odp_ prefix because it's not api. Signed-off-by: Maxim Uvarov --- platform/linux-generic/include/odp_ring_internal.h | 64 +++++++------- platform/linux-generic/pktio/ring.c | 98 +++++++++++----------- platform/linux-generic/test/ring/odp_ring_test.c | 58 ++++++------- 3 files changed, 110 insertions(+), 110 deletions(-) diff --git a/platform/linux-generic/include/odp_ring_internal.h b/platform/linux-generic/include/odp_ring_internal.h index 65c32ad..596bf9b 100644 --- a/platform/linux-generic/include/odp_ring_internal.h +++ b/platform/linux-generic/include/odp_ring_internal.h @@ -103,7 +103,7 @@ extern "C" { #include #include -enum odph_ring_queue_behavior { +enum shm_ring_queue_behavior { ODPH_RING_QUEUE_FIXED = 0, /**< Enq/Deq a fixed number of items from a ring */ ODPH_RING_QUEUE_VARIABLE /**< Enq/Deq as many items @@ -123,9 +123,9 @@ enum odph_ring_queue_behavior { * values in a modulo-32bit base: that's why the overflow of the indexes is not * a problem. */ -typedef struct odph_ring { +typedef struct shm_ring { /** @private Next in list. */ - TAILQ_ENTRY(odph_ring) next; + TAILQ_ENTRY(shm_ring) next; /** @private Name of the ring. */ char name[ODPH_RING_NAMESIZE]; @@ -153,7 +153,7 @@ typedef struct odph_ring { /** @private Memory space of ring starts here. */ void *ring[0] ODP_ALIGNED_CACHE; -} odph_ring_t; +} shm_ring_t; #define ODPH_RING_F_SP_ENQ 0x0001 /* The default enqueue is "single-producer".*/ @@ -191,7 +191,7 @@ typedef struct odph_ring { * - EEXIST - a memzone with the same name already exists * - ENOMEM - no appropriate memory area found in which to create memzone */ -odph_ring_t *odph_ring_create(const char *name, unsigned count, +shm_ring_t *shm_ring_create(const char *name, unsigned count, unsigned flags); @@ -210,14 +210,14 @@ odph_ring_t *odph_ring_create(const char *name, unsigned count, * @return 0: Success; water mark changed. * -EINVAL: Invalid water mark value. */ -int odph_ring_set_water_mark(odph_ring_t *r, unsigned count); +int shm_ring_set_water_mark(shm_ring_t *r, unsigned count); /** * Dump the status of the ring to the console. * * @param r A pointer to the ring structure. */ -void odph_ring_dump(const odph_ring_t *r); +void shm_ring_dump(const shm_ring_t *r); /** * Enqueue several objects on the ring (multi-producers safe). @@ -244,9 +244,9 @@ void odph_ring_dump(const odph_ring_t *r); * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects enqueued. */ -int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, +int __shm_ring_mp_do_enqueue(shm_ring_t *r, void * const *obj_table, unsigned n, - enum odph_ring_queue_behavior behavior); + enum shm_ring_queue_behavior behavior); /** * Enqueue several objects on a ring (NOT multi-producers safe). @@ -270,9 +270,9 @@ int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects enqueued. */ -int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, +int __shm_ring_sp_do_enqueue(shm_ring_t *r, void * const *obj_table, unsigned n, - enum odph_ring_queue_behavior behavior); + enum shm_ring_queue_behavior behavior); /** * Dequeue several objects from a ring (multi-consumers safe). When @@ -301,9 +301,9 @@ int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, * - n: Actual number of objects dequeued. */ -int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, +int __shm_ring_mc_do_dequeue(shm_ring_t *r, void **obj_table, unsigned n, - enum odph_ring_queue_behavior behavior); + enum shm_ring_queue_behavior behavior); /** * Dequeue several objects from a ring (NOT multi-consumers safe). @@ -328,9 +328,9 @@ int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, * if behavior = ODP_RING_QUEUE_VARIABLE * - n: Actual number of objects dequeued. */ -int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, +int __shm_ring_sc_do_dequeue(shm_ring_t *r, void **obj_table, unsigned n, - enum odph_ring_queue_behavior behavior); + enum shm_ring_queue_behavior behavior); /** * Enqueue several objects on the ring (multi-producers safe). @@ -350,7 +350,7 @@ int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, * high water mark is exceeded. * - -ENOBUFS: Not enough room in the ring to enqueue, no object is enqueued. */ -int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, +int shm_ring_mp_enqueue_bulk(shm_ring_t *r, void * const *obj_table, unsigned n); /** @@ -368,7 +368,7 @@ int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, * high water mark is exceeded. * - -ENOBUFS: Not enough room in the ring to enqueue; no object is enqueued. */ -int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, +int shm_ring_sp_enqueue_bulk(shm_ring_t *r, void * const *obj_table, unsigned n); /** @@ -388,7 +388,7 @@ int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, * - -ENOENT: Not enough entries in the ring to dequeue; no object is * dequeued. */ -int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); +int shm_ring_mc_dequeue_bulk(shm_ring_t *r, void **obj_table, unsigned n); /** * Dequeue several objects from a ring (NOT multi-consumers safe). @@ -405,7 +405,7 @@ int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); * - -ENOENT: Not enough entries in the ring to dequeue; no object is * dequeued. */ -int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); +int shm_ring_sc_dequeue_bulk(shm_ring_t *r, void **obj_table, unsigned n); /** * Test if a ring is full. @@ -416,7 +416,7 @@ int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n); * - 1: The ring is full. * - 0: The ring is not full. */ -int odph_ring_full(const odph_ring_t *r); +int shm_ring_full(const shm_ring_t *r); /** * Test if a ring is empty. @@ -427,7 +427,7 @@ int odph_ring_full(const odph_ring_t *r); * - 1: The ring is empty. * - 0: The ring is not empty. */ -int odph_ring_empty(const odph_ring_t *r); +int shm_ring_empty(const shm_ring_t *r); /** * Return the number of entries in a ring. @@ -437,7 +437,7 @@ int odph_ring_empty(const odph_ring_t *r); * @return * The number of entries in the ring. */ -unsigned odph_ring_count(const odph_ring_t *r); +unsigned shm_ring_count(const shm_ring_t *r); /** * Return the number of free entries in a ring. @@ -447,14 +447,14 @@ unsigned odph_ring_count(const odph_ring_t *r); * @return * The number of free entries in the ring. */ -unsigned odph_ring_free_count(const odph_ring_t *r); +unsigned shm_ring_free_count(const shm_ring_t *r); /** * search ring by name * @param name ring name to search * @return pointer to ring otherwise NULL */ -odph_ring_t *odph_ring_lookup(const char *name); +shm_ring_t *shm_ring_lookup(const char *name); /** * Enqueue several objects on the ring (multi-producers safe). @@ -471,7 +471,7 @@ odph_ring_t *odph_ring_lookup(const char *name); * @return * - n: Actual number of objects enqueued. */ -int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_mp_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n); /** @@ -486,7 +486,7 @@ int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects enqueued. */ -int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_sp_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n); /** * Enqueue several objects on a ring. @@ -504,7 +504,7 @@ int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects enqueued. */ -int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n); /** @@ -524,7 +524,7 @@ int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, * @return * - n: Actual number of objects dequeued, 0 if ring is empty */ -int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); +int shm_ring_mc_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n); /** * Dequeue several objects from a ring (NOT multi-consumers safe).When the @@ -540,7 +540,7 @@ int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); * @return * - n: Actual number of objects dequeued, 0 if ring is empty */ -int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); +int shm_ring_sc_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n); /** * Dequeue multiple objects from a ring up to a maximum number. @@ -558,17 +558,17 @@ int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); * @return * - Number of objects dequeued, or a negative error code on error */ -int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n); +int shm_ring_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n); /** * dump the status of all rings on the console */ -void odph_ring_list_dump(void); +void shm_ring_list_dump(void); /** * initialise ring tailq */ -void odph_ring_tailq_init(void); +void shm_ring_tailq_init(void); #ifdef __cplusplus } diff --git a/platform/linux-generic/pktio/ring.c b/platform/linux-generic/pktio/ring.c index 4bb6b4e..9ff457f 100644 --- a/platform/linux-generic/pktio/ring.c +++ b/platform/linux-generic/pktio/ring.c @@ -80,7 +80,7 @@ #include #include -static TAILQ_HEAD(, odph_ring) odp_ring_list; +static TAILQ_HEAD(, shm_ring) odp_ring_list; #define RING_VAL_IS_POWER_2(x) ((((x) - 1) & (x)) == 0) @@ -145,18 +145,18 @@ static TAILQ_HEAD(, odph_ring) odp_ring_list; static odp_rwlock_t qlock; /* rings tailq lock */ /* init tailq_ring */ -void odph_ring_tailq_init(void) +void shm_ring_tailq_init(void) { TAILQ_INIT(&odp_ring_list); odp_rwlock_init(&qlock); } /* create the ring */ -odph_ring_t * -odph_ring_create(const char *name, unsigned count, unsigned flags) +shm_ring_t * +shm_ring_create(const char *name, unsigned count, unsigned flags) { char ring_name[ODPH_RING_NAMESIZE]; - odph_ring_t *r; + shm_ring_t *r; size_t ring_size; odp_shm_t shm; @@ -168,7 +168,7 @@ odph_ring_create(const char *name, unsigned count, unsigned flags) } snprintf(ring_name, sizeof(ring_name), "%s", name); - ring_size = count*sizeof(void *)+sizeof(odph_ring_t); + ring_size = count*sizeof(void *)+sizeof(shm_ring_t); odp_rwlock_write_lock(&qlock); /* reserve a memory zone for this ring.*/ @@ -205,7 +205,7 @@ odph_ring_create(const char *name, unsigned count, unsigned flags) * change the high water mark. If *count* is 0, water marking is * disabled */ -int odph_ring_set_water_mark(odph_ring_t *r, unsigned count) +int shm_ring_set_water_mark(shm_ring_t *r, unsigned count) { if (count >= r->prod.size) return -EINVAL; @@ -221,8 +221,8 @@ int odph_ring_set_water_mark(odph_ring_t *r, unsigned count) /** * Enqueue several objects on the ring (multi-producers safe). */ -int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, - unsigned n, enum odph_ring_queue_behavior behavior) +int __shm_ring_mp_do_enqueue(shm_ring_t *r, void * const *obj_table, + unsigned n, enum shm_ring_queue_behavior behavior) { uint32_t prod_head, prod_next; uint32_t cons_tail, free_entries; @@ -294,8 +294,8 @@ int __odph_ring_mp_do_enqueue(odph_ring_t *r, void * const *obj_table, /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, - unsigned n, enum odph_ring_queue_behavior behavior) +int __shm_ring_sp_do_enqueue(shm_ring_t *r, void * const *obj_table, + unsigned n, enum shm_ring_queue_behavior behavior) { uint32_t prod_head, cons_tail; uint32_t prod_next, free_entries; @@ -348,8 +348,8 @@ int __odph_ring_sp_do_enqueue(odph_ring_t *r, void * const *obj_table, * Dequeue several objects from a ring (multi-consumers safe). */ -int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, - unsigned n, enum odph_ring_queue_behavior behavior) +int __shm_ring_mc_do_dequeue(shm_ring_t *r, void **obj_table, + unsigned n, enum shm_ring_queue_behavior behavior) { uint32_t cons_head, prod_tail; uint32_t cons_next, entries; @@ -412,8 +412,8 @@ int __odph_ring_mc_do_dequeue(odph_ring_t *r, void **obj_table, /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, - unsigned n, enum odph_ring_queue_behavior behavior) +int __shm_ring_sc_do_dequeue(shm_ring_t *r, void **obj_table, + unsigned n, enum shm_ring_queue_behavior behavior) { uint32_t cons_head, prod_tail; uint32_t cons_next, entries; @@ -454,45 +454,45 @@ int __odph_ring_sc_do_dequeue(odph_ring_t *r, void **obj_table, /** * Enqueue several objects on the ring (multi-producers safe). */ -int odph_ring_mp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, +int shm_ring_mp_enqueue_bulk(shm_ring_t *r, void * const *obj_table, unsigned n) { - return __odph_ring_mp_do_enqueue(r, obj_table, n, + return __shm_ring_mp_do_enqueue(r, obj_table, n, ODPH_RING_QUEUE_FIXED); } /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int odph_ring_sp_enqueue_bulk(odph_ring_t *r, void * const *obj_table, +int shm_ring_sp_enqueue_bulk(shm_ring_t *r, void * const *obj_table, unsigned n) { - return __odph_ring_sp_do_enqueue(r, obj_table, n, + return __shm_ring_sp_do_enqueue(r, obj_table, n, ODPH_RING_QUEUE_FIXED); } /** * Dequeue several objects from a ring (multi-consumers safe). */ -int odph_ring_mc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n) +int shm_ring_mc_dequeue_bulk(shm_ring_t *r, void **obj_table, unsigned n) { - return __odph_ring_mc_do_dequeue(r, obj_table, n, + return __shm_ring_mc_do_dequeue(r, obj_table, n, ODPH_RING_QUEUE_FIXED); } /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int odph_ring_sc_dequeue_bulk(odph_ring_t *r, void **obj_table, unsigned n) +int shm_ring_sc_dequeue_bulk(shm_ring_t *r, void **obj_table, unsigned n) { - return __odph_ring_sc_do_dequeue(r, obj_table, n, + return __shm_ring_sc_do_dequeue(r, obj_table, n, ODPH_RING_QUEUE_FIXED); } /** * Test if a ring is full. */ -int odph_ring_full(const odph_ring_t *r) +int shm_ring_full(const shm_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -502,7 +502,7 @@ int odph_ring_full(const odph_ring_t *r) /** * Test if a ring is empty. */ -int odph_ring_empty(const odph_ring_t *r) +int shm_ring_empty(const shm_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -512,7 +512,7 @@ int odph_ring_empty(const odph_ring_t *r) /** * Return the number of entries in a ring. */ -unsigned odph_ring_count(const odph_ring_t *r) +unsigned shm_ring_count(const shm_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -522,7 +522,7 @@ unsigned odph_ring_count(const odph_ring_t *r) /** * Return the number of free entries in a ring. */ -unsigned odph_ring_free_count(const odph_ring_t *r) +unsigned shm_ring_free_count(const shm_ring_t *r) { uint32_t prod_tail = r->prod.tail; uint32_t cons_tail = r->cons.tail; @@ -530,7 +530,7 @@ unsigned odph_ring_free_count(const odph_ring_t *r) } /* dump the status of the ring on the console */ -void odph_ring_dump(const odph_ring_t *r) +void shm_ring_dump(const shm_ring_t *r) { ODPH_DBG("ring <%s>@%p\n", r->name, r); ODPH_DBG(" flags=%x\n", r->flags); @@ -539,8 +539,8 @@ void odph_ring_dump(const odph_ring_t *r) ODPH_DBG(" ch=%" PRIu32 "\n", r->cons.head); ODPH_DBG(" pt=%" PRIu32 "\n", r->prod.tail); ODPH_DBG(" ph=%" PRIu32 "\n", r->prod.head); - ODPH_DBG(" used=%u\n", odph_ring_count(r)); - ODPH_DBG(" avail=%u\n", odph_ring_free_count(r)); + ODPH_DBG(" used=%u\n", shm_ring_count(r)); + ODPH_DBG(" avail=%u\n", shm_ring_free_count(r)); if (r->prod.watermark == r->prod.size) ODPH_DBG(" watermark=0\n"); else @@ -548,23 +548,23 @@ void odph_ring_dump(const odph_ring_t *r) } /* dump the status of all rings on the console */ -void odph_ring_list_dump(void) +void shm_ring_list_dump(void) { - const odph_ring_t *mp = NULL; + const shm_ring_t *mp = NULL; odp_rwlock_read_lock(&qlock); TAILQ_FOREACH(mp, &odp_ring_list, next) { - odph_ring_dump(mp); + shm_ring_dump(mp); } odp_rwlock_read_unlock(&qlock); } /* search a ring from its name */ -odph_ring_t *odph_ring_lookup(const char *name) +shm_ring_t *shm_ring_lookup(const char *name) { - odph_ring_t *r; + shm_ring_t *r; odp_rwlock_read_lock(&qlock); TAILQ_FOREACH(r, &odp_ring_list, next) { @@ -579,60 +579,60 @@ odph_ring_t *odph_ring_lookup(const char *name) /** * Enqueue several objects on the ring (multi-producers safe). */ -int odph_ring_mp_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_mp_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n) { - return __odph_ring_mp_do_enqueue(r, obj_table, n, + return __shm_ring_mp_do_enqueue(r, obj_table, n, ODPH_RING_QUEUE_VARIABLE); } /** * Enqueue several objects on a ring (NOT multi-producers safe). */ -int odph_ring_sp_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_sp_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n) { - return __odph_ring_sp_do_enqueue(r, obj_table, n, + return __shm_ring_sp_do_enqueue(r, obj_table, n, ODPH_RING_QUEUE_VARIABLE); } /** * Enqueue several objects on a ring. */ -int odph_ring_enqueue_burst(odph_ring_t *r, void * const *obj_table, +int shm_ring_enqueue_burst(shm_ring_t *r, void * const *obj_table, unsigned n) { if (r->prod.sp_enqueue) - return odph_ring_sp_enqueue_burst(r, obj_table, n); + return shm_ring_sp_enqueue_burst(r, obj_table, n); else - return odph_ring_mp_enqueue_burst(r, obj_table, n); + return shm_ring_mp_enqueue_burst(r, obj_table, n); } /** * Dequeue several objects from a ring (multi-consumers safe). */ -int odph_ring_mc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) +int shm_ring_mc_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n) { - return __odph_ring_mc_do_dequeue(r, obj_table, n, + return __shm_ring_mc_do_dequeue(r, obj_table, n, ODPH_RING_QUEUE_VARIABLE); } /** * Dequeue several objects from a ring (NOT multi-consumers safe). */ -int odph_ring_sc_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) +int shm_ring_sc_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n) { - return __odph_ring_sc_do_dequeue(r, obj_table, n, + return __shm_ring_sc_do_dequeue(r, obj_table, n, ODPH_RING_QUEUE_VARIABLE); } /** * Dequeue multiple objects from a ring up to a maximum number. */ -int odph_ring_dequeue_burst(odph_ring_t *r, void **obj_table, unsigned n) +int shm_ring_dequeue_burst(shm_ring_t *r, void **obj_table, unsigned n) { if (r->cons.sc_dequeue) - return odph_ring_sc_dequeue_burst(r, obj_table, n); + return shm_ring_sc_dequeue_burst(r, obj_table, n); else - return odph_ring_mc_dequeue_burst(r, obj_table, n); + return shm_ring_mc_dequeue_burst(r, obj_table, n); } diff --git a/platform/linux-generic/test/ring/odp_ring_test.c b/platform/linux-generic/test/ring/odp_ring_test.c index cec8221..799f5c6 100644 --- a/platform/linux-generic/test/ring/odp_ring_test.c +++ b/platform/linux-generic/test/ring/odp_ring_test.c @@ -57,7 +57,7 @@ #define RING_TEST_BASIC -static int test_ring_basic(odph_ring_t *r) +static int test_ring_basic(shm_ring_t *r) { void **src = NULL, **cur_src = NULL, **dst = NULL, **cur_dst = NULL; int ret; @@ -86,7 +86,7 @@ static int test_ring_basic(odph_ring_t *r) printf("Test SP & SC basic functions\n"); printf("enqueue 1 obj\n"); - ret = odph_ring_sp_enqueue_burst(r, cur_src, 1); + ret = shm_ring_sp_enqueue_burst(r, cur_src, 1); cur_src += 1; if ((ret & ODPH_RING_SZ_MASK) != 1) { LOG_ERR("sp_enq for 1 obj failed\n"); @@ -94,7 +94,7 @@ static int test_ring_basic(odph_ring_t *r) } printf("enqueue 2 objs\n"); - ret = odph_ring_sp_enqueue_burst(r, cur_src, 2); + ret = shm_ring_sp_enqueue_burst(r, cur_src, 2); cur_src += 2; if ((ret & ODPH_RING_SZ_MASK) != 2) { LOG_ERR("sp_enq for 2 obj failed\n"); @@ -102,14 +102,14 @@ static int test_ring_basic(odph_ring_t *r) } printf("enqueue MAX_BULK objs\n"); - ret = odph_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); + ret = shm_ring_sp_enqueue_burst(r, cur_src, MAX_BULK); if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { LOG_ERR("sp_enq for %d obj failed\n", MAX_BULK); goto fail; } printf("dequeue 1 obj\n"); - ret = odph_ring_sc_dequeue_burst(r, cur_dst, 1); + ret = shm_ring_sc_dequeue_burst(r, cur_dst, 1); cur_dst += 1; if ((ret & ODPH_RING_SZ_MASK) != 1) { LOG_ERR("sc_deq for 1 obj failed\n"); @@ -117,7 +117,7 @@ static int test_ring_basic(odph_ring_t *r) } printf("dequeue 2 objs\n"); - ret = odph_ring_sc_dequeue_burst(r, cur_dst, 2); + ret = shm_ring_sc_dequeue_burst(r, cur_dst, 2); cur_dst += 2; if ((ret & ODPH_RING_SZ_MASK) != 2) { LOG_ERR("sc_deq for 2 obj failed\n"); @@ -125,7 +125,7 @@ static int test_ring_basic(odph_ring_t *r) } printf("dequeue MAX_BULK objs\n"); - ret = odph_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); + ret = shm_ring_sc_dequeue_burst(r, cur_dst, MAX_BULK); cur_dst += MAX_BULK; if ((ret & ODPH_RING_SZ_MASK) != MAX_BULK) { LOG_ERR("sc_deq for %d obj failed\n", MAX_BULK); @@ -144,41 +144,41 @@ static int test_ring_basic(odph_ring_t *r) printf("Test MP & MC basic functions\n"); printf("enqueue 1 obj\n"); - ret = odph_ring_mp_enqueue_bulk(r, cur_src, 1); + ret = shm_ring_mp_enqueue_bulk(r, cur_src, 1); cur_src += 1; if (ret != 0) { LOG_ERR("mp_enq for 1 obj failed\n"); goto fail; } printf("enqueue 2 objs\n"); - ret = odph_ring_mp_enqueue_bulk(r, cur_src, 2); + ret = shm_ring_mp_enqueue_bulk(r, cur_src, 2); cur_src += 2; if (ret != 0) { LOG_ERR("mp_enq for 2 obj failed\n"); goto fail; } printf("enqueue MAX_BULK objs\n"); - ret = odph_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); + ret = shm_ring_mp_enqueue_bulk(r, cur_src, MAX_BULK); if (ret != 0) { LOG_ERR("mp_enq for %d obj failed\n", MAX_BULK); goto fail; } printf("dequeue 1 obj\n"); - ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 1); + ret = shm_ring_mc_dequeue_bulk(r, cur_dst, 1); cur_dst += 1; if (ret != 0) { LOG_ERR("mc_deq for 1 obj failed\n"); goto fail; } printf("dequeue 2 objs\n"); - ret = odph_ring_mc_dequeue_bulk(r, cur_dst, 2); + ret = shm_ring_mc_dequeue_bulk(r, cur_dst, 2); cur_dst += 2; if (ret != 0) { LOG_ERR("mc_deq for 2 obj failed\n"); goto fail; } printf("dequeue MAX_BULK objs\n"); - ret = odph_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); + ret = shm_ring_mc_dequeue_bulk(r, cur_dst, MAX_BULK); cur_dst += MAX_BULK; if (ret != 0) { LOG_ERR("mc_deq for %d obj failed\n", MAX_BULK); @@ -191,30 +191,30 @@ static int test_ring_basic(odph_ring_t *r) } printf("test watermark and default bulk enqueue / dequeue\n"); - odph_ring_set_water_mark(r, 20); + shm_ring_set_water_mark(r, 20); num_elems = 16; cur_src = src; cur_dst = dst; - ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); + ret = shm_ring_mp_enqueue_bulk(r, cur_src, num_elems); cur_src += num_elems; if (ret != 0) { LOG_ERR("Cannot enqueue\n"); goto fail; } - ret = odph_ring_mp_enqueue_bulk(r, cur_src, num_elems); + ret = shm_ring_mp_enqueue_bulk(r, cur_src, num_elems); if (ret != -EDQUOT) { LOG_ERR("Watermark not exceeded\n"); goto fail; } - ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); + ret = shm_ring_mc_dequeue_bulk(r, cur_dst, num_elems); cur_dst += num_elems; if (ret != 0) { LOG_ERR("Cannot dequeue\n"); goto fail; } - ret = odph_ring_mc_dequeue_bulk(r, cur_dst, num_elems); + ret = shm_ring_mc_dequeue_bulk(r, cur_dst, num_elems); cur_dst += num_elems; if (ret != 0) { LOG_ERR("Cannot dequeue2\n"); @@ -241,7 +241,7 @@ fail: } /* global shared ring used for stress testing */ -static odph_ring_t *r_stress; +static shm_ring_t *r_stress; /* Stress func for Multi producer only */ static int producer_fn(void) @@ -260,7 +260,7 @@ static int producer_fn(void) src[i] = (void *)(unsigned long)i; do { - i = odph_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); + i = shm_ring_mp_enqueue_bulk(r_stress, src, MAX_BULK); if (i == 0) { free(src); return 0; @@ -282,7 +282,7 @@ static int consumer_fn(void) } do { - i = odph_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); + i = shm_ring_mc_dequeue_bulk(r_stress, src, MAX_BULK); if (i == 0) { for (i = 0; i < MAX_BULK; i++) { if (src[i] != (void *)(unsigned long)i) { @@ -356,7 +356,7 @@ static void *test_ring(void *arg) ring_arg_t *parg = (ring_arg_t *)arg; int thr; char ring_name[ODPH_RING_NAMESIZE]; - odph_ring_t *r; + shm_ring_t *r; int result = 0; thr = odp_thread_id(); @@ -367,7 +367,7 @@ static void *test_ring(void *arg) case ODP_RING_TEST_BASIC: snprintf(ring_name, sizeof(ring_name), "test_ring_%i", thr); - r = odph_ring_create(ring_name, RING_SIZE, + r = shm_ring_create(ring_name, RING_SIZE, 0 /* not used, alignement taken care inside func : todo */); if (r == NULL) { @@ -376,7 +376,7 @@ static void *test_ring(void *arg) break; } /* lookup ring from its name */ - if (odph_ring_lookup(ring_name) != r) { + if (shm_ring_lookup(ring_name) != r) { LOG_ERR("ring lookup failed\n"); result = -1; break; @@ -389,7 +389,7 @@ static void *test_ring(void *arg) } /* dump ring stats */ - odph_ring_list_dump(); + shm_ring_list_dump(); break; @@ -397,7 +397,7 @@ static void *test_ring(void *arg) test_ring_stress(parg->stress_type); /* dump ring stats */ - odph_ring_list_dump(); + shm_ring_list_dump(); break; default: @@ -428,7 +428,7 @@ int main(int argc __attribute__((__unused__)), odp_print_system_info(); - odph_ring_tailq_init(); + shm_ring_tailq_init(); rarg.thrdarg.numthrds = odp_cpu_count(); @@ -444,7 +444,7 @@ int main(int argc __attribute__((__unused__)), /* create a ring */ snprintf(ring_name, sizeof(ring_name), "test_ring_stress"); - r_stress = odph_ring_create(ring_name, RING_SIZE, + r_stress = shm_ring_create(ring_name, RING_SIZE, 0 /* not used, alignement taken care inside func : todo */); if (r_stress == NULL) { @@ -452,7 +452,7 @@ int main(int argc __attribute__((__unused__)), goto fail; } /* lookup ring from its name */ - if (odph_ring_lookup(ring_name) != r_stress) { + if (shm_ring_lookup(ring_name) != r_stress) { LOG_ERR("ring lookup failed\n"); goto fail; }