strict compilation settings. I have no
idea how to setup the compatible with the const string unless the following
option is set:
-Wno-error=incompatible-pointer-types
Signed-off-by: Jan Viktorin
---
app/test/Makefile | 3 +
app/test/soc_test_init.sh | 61
app/test
On Sat, 2 Jan 2016 10:01:44 -0800
Stephen Hemminger wrote:
> On Fri, 1 Jan 2016 22:05:20 +0100
> Jan Viktorin wrote:
>
> > Introduce the interface to SoC device infrastructure. A SoC device
> > here means a device integrated on the chip via a (simple) bus
> > that
that supports PCI for that matter?
IMO, we can detect two things: "PCI is present on the system" and
"Device tree is accessible in /proc/device-tree". Is this acceptable?
--
Jan ViktorinE-mail: Viktorin at RehiveTech.com
System ArchitectWeb:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
On Sat, 2 Jan 2016 19:45:40 +0100
Jan Viktorin wrote:
> >
> > Do you consider this will break binary compatibility since
> > sizeof (rte_soc_addr) is PATH_MAX (1024) and the other elements of the
> > union inside rte_devargs are much smaller (like 32 bytes).
> &g
To distinguish between different types of drivers, include a member .magic
at the beginning of the rte_pci_driver structure.
Signed-off-by: Jan Viktorin
---
drivers/net/bnx2x/bnx2x_ethdev.c| 2 ++
drivers/net/cxgbe/cxgbe_ethdev.c| 1 +
drivers/net/e1000/em_ethdev.c | 1
ry suitable for this.
This patch set is independent on the previous one (which was adding the SoC
infra), however, if it is approved I expect them to be joined or to make them
dependent on each other in some way.
Regards
Jan
---
Jan Viktorin (14):
eal/common: introduce RTE_PCI_DRV_MAGIC
e
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_pci.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_pci.h
b/lib/librte_eal/common/include/rte_pci.h
index db8382f..54d0fe2 100644
--- a/lib/librte_eal/common/include/rte_pci.h
+++ b/lib
st.dev.magic == RTE_PCI_DEVICE_MAGIC) {
...
}
I don't like to include the rte_pci.h header here, however, I didn't find
a better way at the moment.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_dev.h | 27 +++
1 file changed, 27 insertions(+)
diff
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_pci.h | 11 +++
1 file changed, 11 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_pci.h
b/lib/librte_eal/common/include/rte_pci.h
index 1321654..204ee82 100644
--- a/lib/librte_eal/common/include/rte_pci.h
Signed-off-by: Jan Viktorin
---
lib/librte_cryptodev/rte_cryptodev.c| 3 +--
lib/librte_eal/common/include/rte_pci.h | 12
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/librte_cryptodev/rte_cryptodev.c
b/lib/librte_cryptodev/rte_cryptodev.c
index f09f67e
.
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 118 --
lib/librte_ether/rte_ethdev.h | 9 ++--
2 files changed, 85 insertions(+), 42 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 21fc0d7..826d4b9
around rte_eal_compare_pci_addr is introduced and it will be extended
while adding a new non-PCI infra.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_dev.h | 17 +
1 file changed, 17 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_dev.h
b/lib
As rte_dev.h now include rte_pci.h, we can remove the rte_pci.h inclusion
among all DPDK code base or replace it by a more general rte_dev.h inclusion.
Signed-off-by: Jan Viktorin
---
app/test-pipeline/config.c | 2 +-
app/test-pipeline/init.c
Make the attach and detach functions independent on the PCI infra. Mostly, this
means to utilize the rte_bus_addr instead of rte_pci_addr.
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 34 ++
1 file changed, 22 insertions(+), 12 deletions
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index db12515..a9007e7 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a9007e7..b17aa11 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index b17aa11..6fb3423 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 6fb3423..75121bc 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -3293,6
This function should be preferred over the rte_eth_copy_pci_info as it is not
PCI-specific.
Signed-off-by: Jan Viktorin
---
lib/librte_ether/rte_ethdev.c | 38 ++
lib/librte_ether/rte_ethdev.h | 15 +++
2 files changed, 53 insertions(+)
diff
Hello David,
did you find time to see the patchset? I am working on a PMD on top of
these so I'd be glad to base on the code close to the (potentially)
upstreamed one.
Regards
Jan
On Tue, 5 Jan 2016 10:45:11 +0100
David Marchand wrote:
> Hello Jan,
>
> I agree that ethdev / cryptodev should r
CC test_pmd_perf.o
>
> make[5]: *** [test_soc.o] Error 1
>
> Thanks
> Yongjie
--
Jan ViktorinE-mail: Viktorin at RehiveTech.com
System ArchitectWeb:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
On Wed, 13 Jan 2016 14:01:19 +
Bruce Richardson wrote:
> On Mon, Jan 04, 2016 at 09:08:15PM +0100, Jan Viktorin wrote:
> > The union rte_device can be used in situations where we want to work with
> > all
> > devices without distinguishing among bus-specific feature
--> rte_device +-> rte_driver| |
> | | | | char name[] | | | | char name[] | |
> +-+ | | | | | | int init(rte_device *) | |
> | +--+ | | | int uninit(rte_device *) | |
> | | | | | |
> +--+ | +---+ |
> | |
> | int priv_size |
> | |
> +---+
>
>
> Thanks for reading.
> Comments ?
>
>
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
I've lost some To/CC in the e-mail, so forwarding to dpdk-dev...
Begin forwarded message:
Date: Mon, 18 Jan 2016 15:58:34 +0100
From: Jan Viktorin
To: David Marchand
Subject: Re: Proposal for a big eal / ethdev cleanup
Hello David,
I am playing around a little bit with the code accordi
structures to the generic ones
* introduction of the container_of macro
The code compiles for x86_64/linux/gcc, however, I didn't try any runtime yet.
[1] http://dpdk.org/ml/archives/dev/2016-January/031390.html
Regards
Jan
---
Jan Viktorin (6):
eal: introduce rte_bus_device and rte_bus_driver
.
Suggested-by: David Marchand
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_dev.h | 9 +
lib/librte_eal/common/include/rte_pci.h | 3 +++
2 files changed, 12 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_dev.h
b/lib/librte_eal/common/include/rte_dev.h
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_common.h | 16
1 file changed, 16 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_common.h
b/lib/librte_eal/common/include/rte_common.h
index b58a384..bf6560d 100644
--- a/lib/librte_eal/common
Suggested-by: David Marchand
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/eal_common_pci.c | 6 +++---
lib/librte_eal/common/include/rte_dev.h | 3 +++
lib/librte_eal/common/include/rte_pci.h | 1 -
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/common
Signed-off-by: Jan Viktorin
---
app/test/virtual_pmd.c | 2 +-
lib/librte_eal/bsdapp/eal/eal_pci.c | 2 +-
lib/librte_eal/common/eal_common_pci.c | 4 ++--
lib/librte_eal/common/include/rte_dev.h | 1 +
lib/librte_eal/common/include/rte_pci.h | 1 -
lib/librte_eal/linuxapp
Suggested-by: David Marchand
Signed-off-by: Jan Viktorin
---
drivers/net/e1000/em_ethdev.c | 14 ++---
drivers/net/e1000/igb_ethdev.c | 24 +++---
drivers/net/enic/enic_main.c | 4 ++--
drivers/net/fm10k/fm10k_ethdev.c
We define to_pci_driver helper macro here.
Suggested-by: David Marchand
Signed-off-by: Jan Viktorin
---
app/test/virtual_pmd.c | 2 +-
drivers/net/virtio/virtio_ethdev.c | 25 +
lib/librte_cryptodev/rte_cryptodev.c| 3 ++-
lib/librte_eal
difficult to see all the
impacts. I hope to see more people to join this discussion.
>
>
> On Mon, Jan 18, 2016 at 3:58 PM, Jan Viktorin
> wrote:
> > On Thu, 14 Jan 2016 11:38:16 +0100
> > David Marchand wrote:
> >> - no need for a rte_pci_driver r
int ret = -1;
>
> if (name == NULL)
> - return -EINVAL;
> + goto err;
Same here...
> +
> + /* check whether the driver supports detach feature, or not */
> + if (rte_eth_dev_is_detachable(port_id))
> + goto err;
>
> [snip]
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
On Thu, 21 Jan 2016 12:57:10 +0100
David Marchand wrote:
> We are in static functions and those passed arguments can't be NULL.
>
> Signed-off-by: David Marchand
>
> ---
> lib/librte_ether/rte_ethdev.c | 15 ---
> 1 file changed, 15 deletions(-)
>
> diff --git a/lib/librte_ether/r
On Fri, 22 Jan 2016 15:06:58 +0100
David Marchand wrote:
> Move these error logs and checks on detach capabilities in a common place.
>
> Signed-off-by: David Marchand
Reviewed-by: Jan Viktorin
What about the RTE_VERIFY? I think, it's more appropriate here.
Otherwise, feel free to add:
Reviewed-by: Jan Viktorin
On Fri, 22 Jan 2016 15:06:57 +0100
David Marchand wrote:
> We are in static functions and those passed arguments can't be NULL.
>
> Signed-off
Hello, It seems the build is broken for armv7 in the master branch. I am sorry
I am away of my office and cannot do any deeper analysis at the moment.?
Jan?Viktorin
RehiveTech
Sent?from?a?mobile?device
? P?vodn? zpr?va ?
?
dpdk-armv7 - Build # 264 - Failure
See the attached log file.
On Mon, 13 Jun 2016 14:18:40 +
Shreyansh Jain wrote:
> Hi Jan,
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jan Viktorin
> > Sent: Friday, May 06, 2016 7:18 PM
> > To: dev at dpdk.org
> > Cc: Jan Viktorin ;
On Mon, 13 Jun 2016 14:19:39 +
Shreyansh Jain wrote:
> Another trivial comment inlined:
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jan Viktorin
> > Sent: Friday, May 06, 2016 7:18 PM
> > To: dev at dpdk.or
On Mon, 13 Jun 2016 14:21:40 +
Shreyansh Jain wrote:
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jan Viktorin
> > Sent: Friday, May 06, 2016 7:18 PM
> > To: dev at dpdk.org
> > Cc: Jan Viktorin ; David Marchand
>
On Mon, 13 Jun 2016 16:40:09 +0200
Thomas Monjalon wrote:
> 2016-06-13 10:12, Jan Viktorin:
> > +static int do_copy(struct archive *r, struct archive *w)
> > +{
> > + const void *buf;
> > + size_t len;
> > + off_t off;
> > + int ret;
> &
test_pci_setup and test_pci_cleanup in patch 0008
v5:
* fixed off argument of archive_read_data_block
Jan Viktorin (10):
app/test: introduce resources for tests
mk: define objcopy-specific target and arch
app/test: support resources externally linked
app/test: add functions to create files
tests of simple resources is included and added into
the group_1.
Signed-off-by: Jan Viktorin
---
v3:
* fixed doc comments
---
app/test/Makefile | 2 +
app/test/autotest_data.py | 6 +++
app/test/resource.c | 66 +++
app/test/resource.h | 98
The program objcopy uses non-standard conventions to name the
target and arch. Define the values for supported architecturesi
(tile and ppc_64 are missing).
Signed-off-by: Jan Viktorin
---
v4:
* fixed commit message (removed FIXME)
---
mk/arch/arm/rte.vars.mk | 5 +
mk/arch/arm64
end_;
(extern const char siz_;)
A unit test that packs the resource.c source file is included.
Signed-off-by: Jan Viktorin
---
v4
* fixed trailing semicolon in REGISTER_LINKED_RESOURCE
---
app/test/Makefile| 19 +++
app/test/resource.h | 10 ++
app/test
A resource can be written into the target filesystem by calling
resource_fwrite or resource_fwrite_file. Such file can be created
before a test is started and removed after the test finishes.
Signed-off-by: Jan Viktorin
---
app/test/resource.c | 35 +++
app
patch introduces functions resource_untar and resource_rm_by_tar
to perform those tasks. An example of using those functions is included
as a test.
A new dependency is required to build the app/test: libarchive.
Signed-off-by: Jan Viktorin
---
v5:
* fix archive_read_data_block, more info:
https
The test unregisters all drivers before start. The drivers were stored
into a fixed-sized array. This is inflexible. This patch change this to
utilize a linked list for the same purpose.
Signed-off-by: Jan Viktorin
---
v3:
* fixed commit message
* used "backup" to de
Signed-off-by: Jan Viktorin
---
app/test/test_pci.c | 47 ++-
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index 8b7c8bb..50078a0 100644
--- a/app/test/test_pci.c
+++ b/app/test/test_pci.c
The current test_pci is just a single test case that tests the
blacklisting of devices. Rename it to test_pci_blacklist and call it
from the test_pci. The setup and cleanup are moved out of the
test_pci_blacklist entirely to cover all other tests.
Signed-off-by: Jan Viktorin
---
v4
* the
now possible to create a fake
sysfs hierarchy for testing.
Signed-off-by: Jan Viktorin
---
v3:
* changed subject
* test_pci_sysfs has been slightly modified to be more understandable
* fixed whitespace in *version.map files
v4:
* fixed checkpatch whitespace issue
---
app/test/Makefile
Dumping of devices in a unittest is useless. Instead, test whether
the test has been set up well - i.e. there are no devices.
Signed-off-by: Jan Viktorin
---
app/test/test_pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index
Hello Thomas,
On Tue, 14 Jun 2016 10:59:49 +0200
Thomas Monjalon wrote:
> The commit 66819e6 has introduced a dependency on libarchive to be able
> to use some tar resources in the unit tests.
> It is now an optional dependency because some systems do not have it
> installed.
I am surprised how
ked_tar_resource if disabled
> ---
Reviewed-by: Jan Viktorin
Acked-by: Jan Viktorin
There are 2 new fake devices for testing PCI infra. All the fake devices
are now identified by non-existing vendor and device IDs so there is no
real driver to bind to them. The testing drivers match those IDs.
Signed-off-by: Jan Viktorin
Suggested-by: Thomas Monjalon
---
app/test/test_pci.c
On Wed, 15 Jun 2016 05:57:33 +
Shreyansh Jain wrote:
> Hi Jan,
>
> One more comment which I missed in previous reply:
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shreyansh Jain
> > Sent: Monday, June 13, 201
On Tue, 14 Jun 2016 16:08:42 +0200
Thomas Monjalon wrote:
> 2016-06-14 15:46, Jan Viktorin:
> > There are 2 new fake devices for testing PCI infra. All the fake devices
s/All the fake/All 3 fake/
> > are now identified by non-existing vendor and device IDs so there is no
>
On Tue, 14 Jun 2016 04:30:57 +
Shreyansh Jain wrote:
> Hi Jan,
>
> > -Original Message-
> > From: Jan Viktorin [mailto:viktorin at rehivetech.com]
> > Sent: Monday, June 13, 2016 7:55 PM
> > To: Shreyansh Jain
> > Cc: dev at dpdk.org; D
.alloc = rte_mempool_common_ring_alloc,
> .enqueue = common_ring_sp_enqueue,
> .dequeue = common_ring_mc_dequeue,
> .get_count = common_ring_get_count,
> .free = common_ring_free,
> };
>
> And then the following macro will register the ops in the array of ops
> structures
>
> REGISTER_MEMPOOL_OPS(ops_mp_mc);
>
> For an example of API usage, please see app/test/test_mempool.c, which
> implements a rudimentary "custom_handler" mempool manager using simple mallocs
> for each mempool object. This file also contains the callbacks and self
> registration for the new handler.
>
> David Hunt (2):
> mempool: support external mempool operations
> mbuf: make default mempool ops configurable at build
>
> Olivier Matz (1):
> app/test: test external mempool manager
>
>
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
On Wed, 15 Jun 2016 08:47:02 +0100
David Hunt wrote:
> Until now, the objects stored in a mempool were internally stored in a
> ring. This patch introduces the possibility to register external handlers
> replacing the ring.
>
> The default behavior remains unchanged, but calling the new function
On Wed, 15 Jun 2016 11:29:51 +0100
"Hunt, David" wrote:
> On 15/6/2016 11:14 AM, Jan Viktorin wrote:
> > On Wed, 15 Jun 2016 08:47:02 +0100
> > David Hunt wrote:
> >
>
> [...]
>
> >
> >> +
> >> +/** Array of regi
gt;>
> >>>
> >>> On 15/6/2016 1:03 PM, Olivier MATZ wrote:
> >>>> Hi,
> >>>>
> >>>> On 06/15/2016 01:47 PM, Hunt, David wrote:
> >>>>>
> >>>>>
> >>>>> On 15/6/2016 11:13 AM, Ja
stions in the of SoC patchset).
What more?
Jan?Viktorin
RehiveTech
Sent?from?a?mobile?device
? P?vodn? zpr?va ?
Od: Thomas Monjalon
Odesl?no: ?tvrtek, 16. ?ervna 2016 9:34
Komu: Shreyansh Jain
Kopie: David Marchand; viktorin at rehivetech.com; dev at dpdk.org; Iremonger,
Bernard
P?edm?t: Re: [
On Thu, 16 Jun 2016 11:19:59 +0200
Thomas Monjalon wrote:
> 2016-06-16 10:23, Jan Viktorin:
> > I think, we should consider to move it to somebody else. I would work on
> > it, however, I don't see all the tasks that are to be done. That's why I
> > was wait
On Thu, 16 Jun 2016 08:42:29 +
Shreyansh Jain wrote:
> Hi,
>
> > -Original Message-
> > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > Sent: Thursday, June 16, 2016 1:04 PM
> > To: Shreyansh Jain
> > Cc: David Marchand ; viktorin at
> > rehivetech.com;
> > dev at d
> fd/0
Replace /dev/stdin by a temporary file.
Signed-off-by: Jan Viktorin
Reported-by: Thomas Monjalon
---
app/test/Makefile | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/app/test/Makefile b/app/test/Makefile
index 5e3ebdc..36ff089 100644
--- a/app/test/Makefile
Hi David,
still few nits... Do you like the upstreaming process? :) I hope finish this
patchset soon. The major issues seem to be OK.
[...]
> +
> +/**
> + * @internal Get the mempool ops struct from its index.
> + *
> + * @param ops_index
> + * The index of the ops struct in the ops struct tab
On Fri, 17 Jun 2016 14:53:37 +0100
David Hunt wrote:
> Create a minimal custom mempool handler and check that it
> passes basic mempool autotests.
>
> Signed-off-by: Olivier Matz
> Signed-off-by: David Hunt
> Acked-by: Shreyansh Jain
> Acked-by: Olivier Matz
> ---
Reviewed-by: Jan Viktorin
the default configuration for this architecture
> would contain a different value for RTE_MBUF_DEFAULT_MEMPOOL_OPS.
>
> Signed-off-by: Olivier Matz
> Signed-off-by: David Hunt
> Acked-by: Shreyansh Jain
> Acked-by: Olivier Matz
> ---
Reviewed-by: Jan Viktorin
On Fri, 24 Jun 2016 04:55:39 +
"Wiles, Keith" wrote:
> On 6/23/16, 11:22 PM, "dev on behalf of Thomas Monjalon" dpdk.org on behalf of thomas.monjalon at 6wind.com> wrote:
>
> >> David Hunt (2):
> >> mempool: support mempool handler operations
> >> app/test: test mempool handler
> >> m
On Fri, 24 Jun 2016 13:24:56 +0200
Thomas Monjalon wrote:
> 2016-06-24 13:20, Jan Viktorin:
> > thanks for the patchset. I am sorry, I didn't have any time for DPDK this
> > week
> > and didn't test it before applying. The current master produces the
> &
On Wed, 2 Mar 2016 18:50:59 +0530
Jerin Jacob wrote:
> armv8.1 adds support for new atomic instructions.
> Linux kernel v4.3 onwards, the presence of atomic instruction
> support can detect through HWCAP_ATOMICS
>
> Signed-off-by: Jerin Jacob
Reviewed-by: Jan Viktorin
From: Vlastimil Kosar
This patch adds architecture specific byte order operations
for ARM. The architecture supports both big and little endian.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_byteorder.h| 148 +
1
From: Vlastimil Kosar
Make DPDK run on ARMv7-A architecture. This patch assumes
ARM Cortex-A9.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
config/defconfig_arm-armv7-a-linuxapp-gcc | 76 +++
mk/arch/arm/rte.vars.mk | 39
extendable mmap, no support for custom ioctl and write).
* We are not going to put the PHY layer into userspace, so it will stay
in the kernel. There is also a need for the CLK control (clock gating)
in the PMD.
Regards
Jan Viktorin
Jan Viktorin (2):
eal/arm: rwlock support for ARM
gcc/
From: Vlastimil Kosar
This patch adds architecture specific atomic operation file
for ARM architecture. It utilizes compiler intrinsics only.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_atomic.h | 257 +
1 file
From: Vlastimil Kosar
This patch adds spinlock operations for ARM architecture.
We do not support HTM in spinlocks on ARM.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_spinlock.h | 114 +
1 file changed, 114
-by: Jan Viktorin
---
.../common/include/arch/arm/rte_memcpy.h | 270 +
1 file changed, 270 insertions(+)
create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy.h
b/lib/librte_eal/common
Just a copy from PPC.
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_rwlock.h | 40 ++
1 file changed, 40 insertions(+)
create mode 100644 lib/librte_eal/common/include/arch/arm/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/arm
From: Vlastimil Kosar
This patch adds architecture specific prefetch operations
for ARM architecture. It utilizes the pld instruction that
starts filling the appropriate cache line without blocking.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm
From: Vlastimil Kosar
This implementation is based on IBM POWER version of
rte_cpuflags. We use software emulation of HW capability
registers, because those are usually not directly accessible
from userspace on ARM.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
app/test
From: Vlastimil Kosar
ARM architecture doesn't have a suitable source of CPU cycles. This
patch uses clock_gettime instead. The implementation should be improved
in the future.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_cyc
There several issues with alignment when compiling for ARMv7.
They are not considered to be fatal (ARMv7 supports unaligned
access of 32b words), so we just leave them as warnings. They
should be solved later, however.
Signed-off-by: Jan Viktorin
Signed-off-by: Vlastimil Kosar
---
mk/toolchain
intrinsic functions
_mm_set_epi32(),
_mm_loadu_si128() and _mm_load_si128() for easy portability of existing
applications.
LPM builds now when on ARM.
FIXME: to be reworked
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
config/defconfig_arm-armv7-a-linuxapp-gcc | 1 -
lib
From: Vlastimil Kosar
The SSE optimized code is disabled for architectures other
than i686 and x86_64.
ACL works now on ARM.
FIXME: should be reworked to avoid if/endif mess
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
config/defconfig_arm-armv7-a-linuxapp-gcc | 3
?I am missing the percent sign (%) for the measurments...
So it's eg. by 4.9 %? faster then memcpy...
Regards
Jan Viktorin
? P?vodn? zpr?va ?
Od: Jan Viktorin
Odesl?no: sobota, 3. ??jna 2015 9:58
Komu: dev at dpdk.org
Kopie: Vlastimil Kosar; Jan Viktorin
P?edm?t: [PATCH v1 07/12] eal/arm: v
go
this way?
https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/ARM-Options.html#ARM-Options
-munaligned-access
-mno-unaligned-access
Enables (or disables) reading and writing of 16- and 32- bit values from
addresses
that are not 16- or 32- bit aligned. By default unaligned access is
disabled fo
15:42:31
+0200)
--------
Jan Viktorin (6):
eal/arm: implement rdtsc by PMU or clock_gettime
eal/arm: use vector memcpy only when NEON is enabled
eal/arm: detect arm architecture in cpu flags
eal/arm: rwlock support for ARM
emcpy.h
> create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_prefetch.h
> create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_rwlock.h
> create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_spinlock.h
> create mode 100644 lib/librte_eal/common/inclu
this should go with the ARMv7 series.
Jan
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
types.
This option should not be used for new code.
^^^
Jan
> +CPU_LDFLAGS ?=
> +CPU_ASFLAGS ?=
> +
> +export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Archi
; + ({ (__builtin_constant_p(n)) ? \
> + memcpy((dst), (src), (n)) : \
> + rte_memcpy_func((dst), (src), (n)); })
> +
> +
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
DE, 4)
> +};
> +
Is it possible to extend it in the same way as it is prepared for ARMv7
[1, 2]?
[1]
https://github.com/RehiveTech/dpdk/commit/bd5f0480b60282cfcd0ef43ddf8896bef8a23bbb
[2]
https://github.com/RehiveTech/dpdk/commit/e293c11770aefc1f58f0c0cca5efee02b21910ba
Perhaps, can
urn vld1q_s32(data);
> +}
> +
> +static inline int
> +_mm_cvtsi128_si64(__m128i a)
> +{
> + return vgetq_lane_s64(a, 0);
> +}
> +
> +static inline __m128i
> +_mm_and_si128(__m128i a, __m128i b)
> +{
> + return (__m128i)vandq_s32(a, b);
> +}
> +
jump (2015-10-21 17:01:24
+0200)
up to 57396c958571b651b4d14f90683b3d1b2d42a70e:
acl: check for SSE 4.1 support (2015-10-26 17:29:36 +0100)
---
Regards
Jan Viktorin
Jan Viktorin (7):
eal/arm: implement rdtsc by PMU or clock_gettime
eal/arm: use vector memcpy only when NEON is enabled
eal/arm: detect
From: Vlastimil Kosar
Make DPDK run on ARMv7-A architecture. This patch assumes
ARM Cortex-A9. However, it is known to be working on Cortex-A7
and Cortex-A15.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v1 -> v2:
* the -mtune parameter of GCC is configurable now
* the -m
From: Vlastimil Kosar
This patch adds architecture specific atomic operation file
for ARM architecture. It utilizes compiler intrinsics only.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v1 -> v2:
* improve rte_wmb()
* use __atomic_* or __sync_*? (may affect the required
From: Vlastimil Kosar
This patch adds architecture specific byte order operations
for ARM. The architecture supports both big and little endian.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_byteorder.h| 148 +
1
From: Vlastimil Kosar
ARM architecture doesn't have a suitable source of CPU cycles. This
patch uses clock_gettime instead. The implementation should be improved
in the future.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
.../common/include/arch/arm/rte_cyc
Enable to choose a preferred way to read timer based on the
configuration entry CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU.
It requires a kernel module that is not included to work.
Based on the patch by David Hunt and Armuta Zende:
lib: added support for armv7 architecture
Signed-off-by: Jan Viktorin
101 - 200 of 624 matches
Mail list logo