Changed odp_queue_deq() to use events instead of buffers.

Signed-off-by: Petri Savolainen <[email protected]>
---
 example/ipsec/odp_ipsec_stream.c               | 4 +++-
 platform/linux-generic/include/api/odp_queue.h | 6 +++---
 platform/linux-generic/odp_queue.c             | 6 +++---
 platform/linux-generic/odp_schedule.c          | 4 +++-
 test/performance/odp_scheduling.c              | 9 +++++++--
 5 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/example/ipsec/odp_ipsec_stream.c b/example/ipsec/odp_ipsec_stream.c
index 8900483..dc78d77 100644
--- a/example/ipsec/odp_ipsec_stream.c
+++ b/example/ipsec/odp_ipsec_stream.c
@@ -531,7 +531,9 @@ bool verify_stream_db_outputs(void)
                                                    buf_tbl,
                                                    LOOP_DEQ_COUNT);
 #else
-                       buf_tbl[0] = odp_queue_deq(queue);
+                       odp_event_t ev;
+                       ev = odp_queue_deq(queue);
+                       buf_tbl[0] = odp_buffer_from_event(ev);
                        count = (buf_tbl[0] != ODP_BUFFER_INVALID) ? 1 : 0;
 #endif
                        if (!count)
diff --git a/platform/linux-generic/include/api/odp_queue.h 
b/platform/linux-generic/include/api/odp_queue.h
index b770270..51ea16b 100644
--- a/platform/linux-generic/include/api/odp_queue.h
+++ b/platform/linux-generic/include/api/odp_queue.h
@@ -194,14 +194,14 @@ int odp_queue_enq_multi(odp_queue_t queue, odp_event_t 
ev[], int num);
 /**
  * Queue dequeue
  *
- * Dequeues next buffer from head of the queue. Cannot be used for
+ * Dequeues next event from head of the queue. Cannot be used for
  * ODP_QUEUE_TYPE_SCHED type queues (use odp_schedule() instead).
  *
  * @param queue   Queue handle
  *
- * @return Buffer handle, or ODP_BUFFER_INVALID
+ * @return Event handle, or ODP_EVENT_INVALID
  */
-odp_buffer_t odp_queue_deq(odp_queue_t queue);
+odp_event_t odp_queue_deq(odp_queue_t queue);
 
 /**
  * Dequeue multiple buffers from a queue
diff --git a/platform/linux-generic/odp_queue.c 
b/platform/linux-generic/odp_queue.c
index f3046e2..b77f3d6 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -514,7 +514,7 @@ int odp_queue_deq_multi(odp_queue_t handle, odp_buffer_t 
buf[], int num)
 }
 
 
-odp_buffer_t odp_queue_deq(odp_queue_t handle)
+odp_event_t odp_queue_deq(odp_queue_t handle)
 {
        queue_entry_t *queue;
        odp_buffer_hdr_t *buf_hdr;
@@ -523,9 +523,9 @@ odp_buffer_t odp_queue_deq(odp_queue_t handle)
        buf_hdr = queue->s.dequeue(queue);
 
        if (buf_hdr)
-               return buf_hdr->handle.handle;
+               return odp_buffer_to_event(buf_hdr->handle.handle);
 
-       return ODP_BUFFER_INVALID;
+       return ODP_EVENT_INVALID;
 }
 
 
diff --git a/platform/linux-generic/odp_schedule.c 
b/platform/linux-generic/odp_schedule.c
index 1e54fd2..e5e7ae3 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -267,6 +267,7 @@ static int schedule(odp_queue_t *out_queue, odp_buffer_t 
out_buf[],
 
                for (j = 0; j < QUEUES_PER_PRIO; j++, id++) {
                        odp_queue_t  pri_q;
+                       odp_event_t  ev;
                        odp_buffer_t desc_buf;
 
                        if (id >= QUEUES_PER_PRIO)
@@ -276,7 +277,8 @@ static int schedule(odp_queue_t *out_queue, odp_buffer_t 
out_buf[],
                                continue;
 
                        pri_q    = sched->pri_queue[i][id];
-                       desc_buf = odp_queue_deq(pri_q);
+                       ev       = odp_queue_deq(pri_q);
+                       desc_buf = odp_buffer_from_event(ev);
 
                        if (desc_buf != ODP_BUFFER_INVALID) {
                                queue_desc_t *desc;
diff --git a/test/performance/odp_scheduling.c 
b/test/performance/odp_scheduling.c
index ebf0609..e12da56 100644
--- a/test/performance/odp_scheduling.c
+++ b/test/performance/odp_scheduling.c
@@ -258,6 +258,7 @@ static int test_alloc_multi(int thr, odp_buffer_pool_t pool)
  */
 static int test_poll_queue(int thr, odp_buffer_pool_t msg_pool)
 {
+       odp_event_t ev;
        odp_buffer_t buf;
        test_message_t *t_msg;
        odp_queue_t queue;
@@ -288,12 +289,16 @@ static int test_poll_queue(int thr, odp_buffer_pool_t 
msg_pool)
        t1 = odp_time_cycles();
 
        for (i = 0; i < QUEUE_ROUNDS; i++) {
-               if (odp_queue_enq(queue, odp_buffer_to_event(buf))) {
+               ev = odp_buffer_to_event(buf);
+
+               if (odp_queue_enq(queue, ev)) {
                        LOG_ERR("  [%i] Queue enqueue failed.\n", thr);
                        return -1;
                }
 
-               buf = odp_queue_deq(queue);
+               ev = odp_queue_deq(queue);
+
+               buf = odp_buffer_from_event(ev);
 
                if (!odp_buffer_is_valid(buf)) {
                        LOG_ERR("  [%i] Queue empty.\n", thr);
-- 
2.2.2


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to