On Thu, Nov 12, 2015 at 6:46 AM, Petri Savolainen <
petri.savolai...@nokia.com> wrote:
> Added input queue configuration parameters and functions
> to setup multiple input queue and hashing. Added also
> functions to query the number of queues and queue handles.
> Direct receive does use new
> > if (msg == UPDATE_FOO) {
> > // Make sure that load of “foo” is not moved before schedule()
> > odp_sync_loads();
>
> odp_sync_acquire() would be a better name.
>
> >
> > foo++;
> > // Make sure that store of “foo” is not moved after queue_enq()
> >odp_sync_stores();
>
>
Platforms may support some uint64 operations lock-free and
others not. For example, inc_64 can be natively supported but
cas_64 (or max_64/min_64) not. User may be able to switch to
32 bit variables when a 64 bit operation uses locks. The same
atomic operation struture could be used for platform
Signed-off-by: Nicolas Morey-Chaisemartin
---
test/validation/crypto/crypto.h | 4 +
test/validation/crypto/odp_crypto_test_inp.c | 154 +++
test/validation/crypto/test_vectors.h| 152 ++
On Thu, Nov 12, 2015 at 10:52:18AM +0300, Maxim Uvarov wrote:
> Hi Stuart,
>
> You will send updated patch, right?
>
> Maxim.
Yes will do, I was waiting to see if anyone had comments on some of the
other patches, but I'll rebase the series and send out a v2 shortly.
--
Stuart.
>
> On
Signed-off-by: Nicolas Morey-Chaisemartin
---
include/odp/api/crypto.h | 4 +
.../linux-generic/include/odp_crypto_internal.h| 3 +
platform/linux-generic/odp_crypto.c| 183 +
3 files changed, 190
Signed-off-by: Nicolas Morey-Chaisemartin
---
test/validation/crypto/odp_crypto_test_inp.c | 31 +++-
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/test/validation/crypto/odp_crypto_test_inp.c
API change is OK. There's a typo in patch name:
"AES1268-GCM support" should be "AES128-GCM support"
-Petri
> -Original Message-
> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of
> EXT Nicolas Morey-Chaisemartin
> Sent: Thursday, November 12, 2015 11:25 AM
> To:
Signed-off-by: Nicolas Morey-Chaisemartin
---
test/validation/crypto/odp_crypto_test_inp.c | 64 +++-
1 file changed, 35 insertions(+), 29 deletions(-)
diff --git a/test/validation/crypto/odp_crypto_test_inp.c
On init odp creates odp_sched_pool. We can not modify API to add new
parameter to odp_pool_param_t and this pool should not be shared
between different processes. To do that implemented internal linux-generic
function with parameters to created shm.
Note: create shm before and then provide it to
Add flag ODPH_RING_NO_LIST to ring to not link it to linked list.
Signed-off-by: Maxim Uvarov
---
helper/include/odp/helper/ring.h | 7 ---
helper/ring.c| 3 ++-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git
Hi,
Today, as far as I can see (at least for linux generic), the type of pktio
selected at open time depends on:
1) the priority order defined in pktio_io/io_ops.c (currentely: netmap mmap
socket and usual sockets)
2)A set of environment variable (ODP_PKTIO_DISABLE_NETMAP,
Move ring test to helper and kill not needed api_test
directory. Unfortunately odp_ring_test.c had some old
dirty code so I had to clean up it to to use cunit and
latest helper apis.
Signed-off-by: Maxim Uvarov
---
configure.ac |
2 example ipc pktio applications create ipc pktio to each other and do
packet transfer, validation magic numbers and packets sequence counters
inside it.
Signed-off-by: Maxim Uvarov
---
platform/linux-generic/Makefile.am | 1 +
Add description for ipc pktio.
Signed-off-by: Maxim Uvarov
---
platform/linux-generic/pktio/ipc.README | 22 ++
1 file changed, 22 insertions(+)
create mode 100644 platform/linux-generic/pktio/ipc.README
diff --git
v13: - added ipc.README with description and limitations notes.
v12: - size size for ring names arrays;
- add patch "linix-generic: return error for unsupported pktio calls"
to not crash on unsupported calls;
- fix sleep(0.1);
- fix git ignore;
v11: - removed odph_pause
Signed-off-by: Maxim Uvarov
---
helper/include/odp/helper/ring.h | 2 ++
helper/ring.c| 9 -
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/helper/include/odp/helper/ring.h b/helper/include/odp/helper/ring.h
index
Signed-off-by: Maxim Uvarov
---
platform/linux-generic/Makefile.am | 2 +
.../linux-generic/include/odp_buffer_internal.h| 3 +
.../linux-generic/include/odp_packet_io_internal.h | 38 ++
.../include/odp_packet_io_ipc_internal.h | 47
For some pktios like loop and ipc functions like mtu, promisc,
and mac addr are not applicable. Instead of crash on deference
null pointer just return error if functions are not defined.
Signed-off-by: Maxim Uvarov
---
platform/linux-generic/odp_packet_io.c | 24
Prefixed were removed for validation test suite and to
be consistent we need to do the same for helpers.
Signed-off-by: Maxim Uvarov
---
helper/test/.gitignore | 9 +
helper/test/Makefile.am | 18 --
now it compiles, but fails on execution in virtual machine:
./configure --with-platform=linux-generic
--prefix=/builds/check-odp-new.git/new-build --host=aarch64-linux-gnu
--enable-test-perf
--with-openssl-path=/builds/check-odp-new.git/installed/arm64/openssl-OpenSSL_1_0_1h
Compile with -march=armv8-a+crc.
Alex
On 13 November 2015 at 09:23, Maxim Uvarov wrote:
> now it compiles, but fails on execution in virtual machine:
>
> ./configure --with-platform=linux-generic
> --prefix=/builds/check-odp-new.git/new-build --host=aarch64-linux-gnu
>
On 11/13/2015 10:29, Alexandru Badicioiu wrote:
Compile with -march=armv8-a+crc.
Alex
ok, now arm64 looks like work, but other arches broken:
./configure --with-platform=linux-generic
--prefix=/builds/check-odp-new.git/new-build --enable-test-perf
From: EXT Bill Fischofer [mailto:bill.fischo...@linaro.org]
Sent: Thursday, November 12, 2015 9:48 PM
To: Savolainen, Petri (Nokia - FI/Espoo)
Cc: LNG ODP Mailman List
Subject: Re: [lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio
input queues
On Thu, Nov 12, 2015 at 6:46
On 11/10/2015 21:29, Stuart Haslam wrote:
On Mon, Nov 09, 2015 at 02:21:49PM +0300, Maxim Uvarov wrote:
Signed-off-by: Maxim Uvarov
---
platform/linux-generic/Makefile.am | 1 +
.../linux-generic/include/odp_packet_io_internal.h | 9 +++
Hi,
I went through the same issue as well..
In ODP we have defined that the dev-name is implementation specific
and hence I like the idea to add socket type to dev-name something
like "SOCKET_MMAP:eth0"/ "NETMAP: eth0" and this maps well with the
ODP definition for device name.
Regards,
Bala
On
Hi,
I like this.
It seems more robust and easier extended than all the environment variable.
We should also keep the basic portname. Ideally io_ops should be in performance
order so if I write generic code that uses en0,
it'll try netmap, then sock_mmap and finally fallback to standard sockets
Signed-off-by: Nicolas Morey-Chaisemartin
---
platform/Makefile.inc | 39 ++
platform/linux-generic/Makefile.am | 39 --
2 files changed, 39 insertions(+), 39 deletions(-)
diff --git
This patch set adds APIs for multi-queue packet IO. It does not remove or modify
existing API calls, so that multi-queue can be verified first with couple of
apps and implementations. Single queue APIs (e.g. odp_pktio_inq_setdef()) and
potentially plain _recv() and _send() should be removed once
Hi,
I went through the same issue as well..
In ODP we have defined that the dev-name is implementation specific
and hence I like the idea to add socket type to dev-name something
like "SOCKET_MMAP:eth0"/ "NETMAP: eth0" and this maps well with the
ODP definition for device name.
Regards,
Bala
On
On 11/10/2015 21:30, Stuart Haslam wrote:
On Mon, Nov 09, 2015 at 02:21:53PM +0300, Maxim Uvarov wrote:
Signed-off-by: Maxim Uvarov
---
test/validation/pktio/pktio.c | 130 ++
1 file changed, 130 insertions(+)
diff --git
Added odp_pktio_recv_queue for direct packet receive from pktio
input queues.
Signed-off-by: Petri Savolainen
---
include/odp/api/packet_io.h | 33 -
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git
Added input queue configuration parameters and functions
to setup multiple input queue and hashing. Added also
functions to query the number of queues and queue handles.
Direct receive does use new odp_pktin_queue_t handle type.
Signed-off-by: Petri Savolainen
---
Added capability structure and a function to query it.
Capability limits are used for advanced pktio configuration,
like configuration of multiple input/output queues.
Signed-off-by: Petri Savolainen
---
include/odp/api/packet_io.h | 23 +++
1
Added odp_pktio_send_queue for direct packet send to
a pktio output queue.
Signed-off-by: Petri Savolainen
---
include/odp/api/packet_io.h | 39 +++
1 file changed, 31 insertions(+), 8 deletions(-)
diff --git
In the schedule_loop the wait time is passed in units of scheduler
time. At this moment there is no difference between wait time and
odp_time, but in case if odp_time is smth different from uint64_t,
it cannot be directly passed as uint64_t. So better to pass scheduler
time as ns and convert them
Under opaque type can be structure that cannot be used with direct
values, So, use conversion functions to get time_t to avoid build
issues.
Signed-off-by: Ivan Khoronzhuk
---
test/validation/time/time.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
It's more convenient the local time to be a monotonic source.
The monotony allows to use local time in similar manner as it's
supposed to be used with global time and the 64-bit timer is enough
to guarantee it.
Signed-off-by: Ivan Khoronzhuk
---
The linux-generic time API implementation shouldn't depend on cpu
cycle API wich is not stable enough to measure time period due to
dynamic frequency scaling.
Signed-off-by: Ivan Khoronzhuk
---
platform/linux-generic/Makefile.am | 1 -
Add test for odp_time_sum, odp_time_cmp, odp_time_to_u64 APIs.
Sophisticate a little tests for odp_time_diff, odp_time_local_from_ns,
odp_time_local_to_ns APIs. Check time on monotony.
Signed-off-by: Ivan Khoronzhuk
---
test/validation/time/time.c | 224
This series is intended to modify time API to be used as monotonic wall
time in order to simplify time API usage and create prerequisites for
adding global time API and local wall time API.
Since v1:
- corrected name of the series to be api-next
- use thread local for holding start time
Ivan
Use signed long for ODP_TIME_*, that's enough and it allows to
compare it with signed types, used for instance in timespec type.
Signed-off-by: Ivan Khoronzhuk
---
include/odp/api/time.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git
It's more convenient the local time to be a wall time. It's allows
to measure time beginning from start of the thread. This allows to use
local time in similar manner as it's supposed to be used with global
time and the 64-bit timer is enough to guarantee it.
Correct validation test to check new
Sent v2 already.
On 12.11.15 19:05, Ivan Khoronzhuk wrote:
This series is intended to modify time API to be used as monotonic wall
time in order to simplify time API usage and create prerequisites for
adding global time API and local wall time API.
Ivan Khoronzhuk (7):
api: time: use signed
This series is intended to modify time API to be used as monotonic wall
time in order to simplify time API usage and create prerequisites for
adding global time API and local wall time API.
Ivan Khoronzhuk (7):
api: time: use signed long for ODP_TIME_*
validation: time: don't assign int
Under opaque type can be structure that cannot be used with direct
values, So, use conversion functions to get time_t to avoid build
issues.
Signed-off-by: Ivan Khoronzhuk
---
test/validation/time/time.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
Add test for odp_time_sum, odp_time_cmp, odp_time_to_u64 APIs.
Sophisticate a little tests for odp_time_diff, odp_time_local_from_ns,
odp_time_local_to_ns APIs. Check time on monotony.
Signed-off-by: Ivan Khoronzhuk
---
test/validation/time/time.c | 224
The linux-generic time API implementation shouldn't depend on cpu
cycle API wich is not stable enough to measure time period due to
dynamic frequency scaling.
Signed-off-by: Ivan Khoronzhuk
---
platform/linux-generic/Makefile.am | 1 -
It's more convenient the local time to be a wall time. It's allows
to measure time beginning from start of the thread. This allows to use
local time in similar manner as it's supposed to be used with global
time and the 64-bit timer is enough to guarantee it.
Signed-off-by: Ivan Khoronzhuk
Use signed long for ODP_TIME_*, that's enough and it allows to
compare it with signed types, used for instance in timespec type.
Signed-off-by: Ivan Khoronzhuk
---
include/odp/api/time.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git
It's more convenient the local time to be a monotonic source.
The monotony allows to use local time in similar manner as it's
supposed to be used with global time and the 64-bit timer is enough
to guarantee it.
Signed-off-by: Ivan Khoronzhuk
---
In the schedule_loop the wait time is passed in units of scheduler
time. At this moment there is no difference between wait time and
odp_time, but in case if odp_time is smth different from uint64_t,
it cannot be directly passed as uint64_t. So better to pass scheduler
time as ns and convert them
Changes in v10
- Add back ARM definitions for _crc32w() from Alex that got dropped in v9
Note: Checkpatch complains about the _asm() line. Says spaces are needed but
if spaces are added then complains that spaces are prohibited. Rules need to
be updated to ignore these sort of constructs.
Signed-off-by: Nicolas Morey-Chaisemartin
---
test/validation/crypto/crypto.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/test/validation/crypto/crypto.c b/test/validation/crypto/crypto.c
index 9229cab..1234f78 100644
--- a/test/validation/crypto/crypto.c
+++
From: Barry Spinney
This commit causes the traffic_mgr to become part of the ODP linux-generic
build.
Signed-off-by: Barry Spinney
Signed-off-by: Bill Fischofer
---
platform/linux-generic/Makefile.am| 13
From: Barry Spinney
This commit includes all of the changes to build the traffic_mgr example
application.
Signed-off-by: Barry Spinney
Signed-off-by: Bill Fischofer
---
configure.ac| 1 +
From: Barry Spinney
This introduces an API for configuring and using Traffic Management
systems.
The purpose of this API is as a general packet scheduling system that
accepts packets from input queues and applies strict priority
scheduling, weighted fair queuing scheduling
https://bugs.linaro.org/show_bug.cgi?id=1873
--- Comment #5 from Mike Holmes ---
Carl,
Can you check the latest IPC to see if it will help your case ?
I think if we go much further than v13 of IPC it may be an indication that
there is not a strong enough use case for IPC
58 matches
Mail list logo