[dpdk-dev] [PATCH v3 11/16] vfio: move global vfio_cfg to eal_vfio.c

2016-07-04 Thread Jan Viktorin
- pci_* specialization preserved as a wrapper * clear_current_group - private function, just moved To stop GCC complaining about "defined but not used", the private function pci_vfio_get_group_no has been removed entirely. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_

[dpdk-dev] [PATCH v3 13/16] vfio: make vfio_*_dma_map and iommu_types private

2016-07-04 Thread Jan Viktorin
There is no more reason to expose those definitions as nobody uses them. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_vfio.c | 15 +-- lib/librte_eal/linuxapp/eal/eal_vfio.h | 11 --- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v3 12/16] vfio: fix typo in doc for vfio_setup_device

2016-07-04 Thread Jan Viktorin
Signed-off-by: Jan Viktorin Suggested-by: Anatoly Burakov Acked-by: John McNamara --- lib/librte_eal/linuxapp/eal/eal_vfio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linuxapp/eal/eal_vfio.h index d4532a5

[dpdk-dev] [PATCH v3 15/16] vfio: initialize vfio out of the PCI subsystem

2016-07-04 Thread Jan Viktorin
The VFIO does not depend on the PCI anymore so it can be initialized out of the PCI subsystem. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal.c | 31 ++ lib/librte_eal/linuxapp/eal/eal_pci.c | 17 +--- lib/librte_eal

[dpdk-dev] [PATCH v3 14/16] vfio: rename and generalize eal_pci_vfio_mp_sync

2016-07-04 Thread Jan Viktorin
The module eal_pci_vfio_mp_sync is quite generic so it shouldn't contain the "pci" string in its name. The internal functions don't need the pci_* prefix. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/Makefile | 4 ++-- lib/lib

[dpdk-dev] [PATCH v3 16/16] vfio: change VFIO init to be extendable

2016-07-04 Thread Jan Viktorin
We can now just OR the vfio_enabled sequentially and so adding new VFIO subsystems (vfio_platform) is possible. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b

[dpdk-dev] [PATCH v1 28/28] ether: support SoC device/driver

2016-07-05 Thread Jan Viktorin
Hello Shreyansh, ? > On Monday 04 July 2016 08:06 PM, Jan Viktorin wrote: >> On Mon, 4 Jul 2016 19:57:18 +0530 >> Shreyansh jain wrote: >> >> [...] >> >>>>>> @@ -1431,7 +1524,7 @@ >rte_eth_dev_info_get(uint8

[dpdk-dev] [PATCH v2 00/11] Fix build errors related to exported headers

2016-07-05 Thread Jan Viktorin
Hi Adrien, I am the only one in CC and only in the 00/11 patch. Is it a mistake? Or what is the purpose? Regards? Jan?Viktorin RehiveTech Sent?from?a?mobile?device ? P?vodn? zpr?va ? Od: Adrien Mazarguil Odesl?no: ?ter?, 5. ?ervence 2016 12:45 Komu: dev at dpdk.org Kopie: Jan Viktorin P?edm?t

[dpdk-dev] [PATCH v1 02/15] eal: no need to test for PMD_VDEV anymore

2016-07-08 Thread Jan Viktorin
All devices in the rte_eal_vdev_init/uninit are always virtual devices. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_vdev.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c index

[dpdk-dev] [PATCH v1 01/15] eal: extract vdev infra

2016-07-08 Thread Jan Viktorin
rte_vdev.h). Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/eal_common_dev.c | 54 +--- lib/librte_eal/common/eal_common_vdev.c | 104 +++ lib

[dpdk-dev] [PATCH v1 00/15] rte_driver/device infrastructure

2016-07-08 Thread Jan Viktorin
00/17] Prepare for rte_device / rte_driver Thanks anybody for some quick review and notes. Regards Jan -- Jan Viktorin (15): eal: extract vdev infra eal: no need to test for PMD_VDEV anymore eal: do not call init for PMD_PDEV drivers drivers: convert PMD_VDEV drivers to use

[dpdk-dev] [PATCH v1 03/15] eal: do not call init for PMD_PDEV drivers

2016-07-08 Thread Jan Viktorin
There is no way how to call an init on a PMD_PDEV driver as those drivers are all PCI drivers and they do not register any rte_driver with EAL. We can drop the loop over PMD_PDEV drivers entirely. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_dev.c | 8 1 file

[dpdk-dev] [PATCH v1 04/15] drivers: convert PMD_VDEV drivers to use rte_vdev_driver

2016-07-08 Thread Jan Viktorin
All PMD_VDEV drivers can now use rte_vdev_driver instead of the rte_driver (which is embedded in the rte_vdev_driver). Signed-off-by: Jan Viktorin --- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 16 +--- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 16 +--- drivers

[dpdk-dev] [PATCH v1 05/15] eal: move init/uninit to rte_vdev_driver

2016-07-08 Thread Jan Viktorin
These functions are virtual-device specific and they are never called for any PCI driver (after introducing RTE_EAL_PCI_REGISTER, there is no way to do it). All affected drivers are updated. The prototypes are renamed to rte_vdev_init_t and rte_vdev_uninit_t. Signed-off-by: Jan Viktorin

[dpdk-dev] [PATCH v1 06/15] eal: remove PMD_REGISTER_DRIVER

2016-07-08 Thread Jan Viktorin
All devices register themselfs by calling a kind of RTE_EAL_*_REGISTER. The PMD_REGISTER_DRIVER is not used anymore. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_dev.h | 12 1 file changed, 12 deletions(-) diff --git a/lib/librte_eal/common/include/rte_dev.h

[dpdk-dev] [PATCH v1 08/15] eal: define macro container_of

2016-07-08 Thread Jan Viktorin
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 332f2a4..a9b6792 100644 --- a/lib/librte_eal/common

[dpdk-dev] [PATCH v1 07/15] eal: get rid of pmd_type

2016-07-08 Thread Jan Viktorin
There is no need to determine a PMD type any more. The PMD_VDEV devices has its own list of drivers. And all PMD_PDEV are PCI devices using a different way of registering themselfs. Signed-off-by: Jan Viktorin --- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 1 - drivers/crypto/aesni_mb

[dpdk-dev] [PATCH v1 09/15] eal: rte_pci.h includes rte_dev.h

2016-07-08 Thread Jan Viktorin
Further refactoring and generalization of PCI infrastructure will require access to the rte_dev.h contents. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_pci.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal

[dpdk-dev] [PATCH v1 10/15] eal: rename and move rte_pci_resource

2016-07-08 Thread Jan Viktorin
There is no need to have a custom memory resource representation for each infrastructure (PCI, ...) as it would always have the same members. Signed-off-by: Jan Viktorin --- drivers/net/szedata2/rte_eth_szedata2.c | 4 ++-- lib/librte_eal/common/include/rte_dev.h | 9 + lib

[dpdk-dev] [PATCH v1 11/15] eal/pci: inherit rte_driver by rte_pci_driver

2016-07-08 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- app/test/test_pci.c | 10 +++--- app/test/virtual_pmd.c | 2 +- drivers/crypto/qat/rte_qat_cryptodev.c | 4 +++- drivers/net/bnx2x/bnx2x_ethdev.c| 8 ++-- drivers/net/cxgbe/cxgbe_ethdev.c| 4

[dpdk-dev] [PATCH v1 12/15] eal: call rte_eal_driver_register

2016-07-08 Thread Jan Viktorin
To register both vdev and pci drivers into the list of all rte_driver, we have to call rte_eal_driver_register explicitly. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_pci.c | 2 ++ lib/librte_eal/common/eal_common_vdev.c | 2 ++ 2 files changed, 4 insertions(+) diff --git

[dpdk-dev] [PATCH v1 13/15] eal: introduce rte_device

2016-07-08 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_dev.c | 13 + lib/librte_eal/common/include/rte_dev.h | 31 +++ 2 files changed, 44 insertions(+) diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common

[dpdk-dev] [PATCH v1 14/15] eal/pci: inherit rte_device by rte_pci_device

2016-07-08 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- app/test/virtual_pmd.c | 4 ++-- drivers/net/fm10k/fm10k_ethdev.c| 6 +++--- drivers/net/virtio/virtio_pci.c | 2 +- lib/librte_cryptodev/rte_cryptodev.c| 2 +- lib/librte_eal/common/eal_common_pci.c | 14

[dpdk-dev] [PATCH v1 15/15] eal/pci: insert rte_device on scan

2016-07-08 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index 6f1a28a..ab08a16 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci.c +++ b/lib

[dpdk-dev] [PATCH v1 01/15] eal: extract vdev infra

2016-07-11 Thread Jan Viktorin
On Mon, 11 Jul 2016 18:59:48 +0530 Shreyansh jain wrote: > Hi Jan, > > Some comments. > > On Saturday 09 July 2016 12:39 AM, Jan Viktorin wrote: > > Move all PMD_VDEV-specific code into a separate module and header > > file to not polute the generic code anymore.

[dpdk-dev] [PATCH v1 28/28] ether: support SoC device/driver

2016-07-12 Thread Jan Viktorin
On Tue, 12 Jul 2016 14:15:17 +0530 Shreyansh jain wrote: > Hi Jan, > > On Monday 04 July 2016 08:06 PM, Jan Viktorin wrote: > > On Mon, 4 Jul 2016 19:57:18 +0530 > > Shreyansh jain wrote: > > > > [...] > > > >>>>> @@ -1431,

[dpdk-dev] [PATCH v6 05/17] eal: introduce init macros

2016-07-13 Thread Jan Viktorin
i drivers. > > Suggested-by: Jan Viktorin > Signed-off-by: David Marchand > Signed-off-by: Shreyansh Jain > --- [...] > +#define RTE_INIT(func) \ > +static void __attribute__((constructor, used)) func(void) > + > #ifdef __cplusplus > } > #endif > diff --git a/lib

[dpdk-dev] [PATCH] virtio: fix missing curly braces

2016-07-13 Thread Jan Viktorin
latter is misleadingly indented as if it is guarded by the ?if? if (ret < 0) { Fixes: 404bd6bfe360 ("net/virtio-user: fix return value not checked") Signed-off-by: Jan Viktorin --- drivers/net/virtio/virtio_user_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 delet

[dpdk-dev] [PATCH v6 05/17] eal: introduce init macros

2016-07-13 Thread Jan Viktorin
On Wed, 13 Jul 2016 11:20:43 +0200 Jan Viktorin wrote: > Hello Shreyansh, > > On Tue, 12 Jul 2016 11:31:10 +0530 > Shreyansh Jain wrote: > > > Introduce a RTE_INIT macro used to mark an init function as a constructor. > > Current eal macros have been converted

[dpdk-dev] [PATCH] virtio: fix missing curly braces

2016-07-13 Thread Jan Viktorin
On Wed, 13 Jul 2016 11:27:18 +0200 Maxime Coquelin wrote: > Hi Jan, > > On 07/13/2016 11:24 AM, Jan Viktorin wrote: > > GCC 6 is complaining and seems to be correct here. > > > > virtio_user_ethdev.c:345:2: error: > > this ?if? clause does not guard..

[dpdk-dev] [PATCH] virtio: fix missing curly braces

2016-07-13 Thread Jan Viktorin
On Wed, 13 Jul 2016 11:27:18 +0200 Maxime Coquelin wrote: > Hi Jan, > > On 07/13/2016 11:24 AM, Jan Viktorin wrote: > > GCC 6 is complaining and seems to be correct here. > > > > virtio_user_ethdev.c:345:2: error: > > this ?if? clause does not guard..

[dpdk-dev] [PATCH v6 05/17] eal: introduce init macros

2016-07-14 Thread Jan Viktorin
On Thu, 14 Jul 2016 10:57:55 +0530 Shreyansh jain wrote: > Hi Jan, > > On Wednesday 13 July 2016 11:04 PM, Jan Viktorin wrote: > > On Wed, 13 Jul 2016 11:20:43 +0200 > > Jan Viktorin wrote: > > > >> Hello Shreyansh, > >> > >> On Tue,

[dpdk-dev] [PATCH v6 17/17] ethdev: get rid of device type

2016-07-14 Thread Jan Viktorin
On Tue, 12 Jul 2016 11:31:22 +0530 Shreyansh Jain wrote: > Now that hotplug has been moved to eal, there is no reason to keep the device > type in this layer. > > Signed-off-by: David Marchand > Signed-off-by: Shreyansh Jain > --- > app/test/virtual_pmd.c| 2 +- > drivers

[dpdk-dev] [PATCH v6 15/17] eal: add hotplug operations for pci and vdev

2016-07-14 Thread Jan Viktorin
On Tue, 12 Jul 2016 11:31:20 +0530 Shreyansh Jain wrote: > Hotplug which deals with resources should come from the layer that already > handles them, i.e. EAL. > > For both attach and detach operations, 'name' is used to select the bus > that will handle the request. > > Signed-off-by: David Ma

[dpdk-dev] [PATCH v6 16/17] ethdev: convert to eal hotplug

2016-07-14 Thread Jan Viktorin
On Tue, 12 Jul 2016 11:31:21 +0530 Shreyansh Jain wrote: > Remove bus logic from ethdev hotplug by using eal for this. > > Current api is preserved: > - the last port that has been created is tracked to return it to the > application when attaching, > - the internal device name is reused when

[dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name

2016-07-14 Thread Jan Viktorin
On Tue, 12 Jul 2016 11:31:17 +0530 Shreyansh Jain wrote: > eal is a better place than crypto / ethdev for naming resources. s/for naming/to name/ What is meant by "resources" here? > Add a helper in eal and make use of it in crypto / ethdev. > > Signed-off-by: David Marchand > Signed-off-by:

[dpdk-dev] [PATCH v6 13/17] pci: add a helper to update a device

2016-07-14 Thread Jan Viktorin
/librte_eal/linuxapp/eal/eal_pci.c > @@ -417,6 +417,19 @@ pci_scan_one(const char *dirname, uint16_t domain, > uint8_t bus, > return 0; > } > > +int > +pci_update_device(const struct rte_pci_addr *addr) > +{ > + char filename[PATH_MAX]; > + > +

[dpdk-dev] spinlock: Move constructor function out of header file

2016-07-14 Thread Jan Viktorin
Hello Damjan, thank you for the patch. It makes sense to me. Next time, please CC the appropriate maintainers. (See the MAINTAINERS file in the root of the DPDK source tree.) In the subject after "spinlock:" you should start with a lower case letter, so "move constructor..." On Thu, 14 Jul 2016

[dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name

2016-07-15 Thread Jan Viktorin
On Fri, 15 Jul 2016 15:09:58 +0530 Shreyansh jain wrote: > On Thursday 14 July 2016 10:25 PM, Jan Viktorin wrote: > > On Tue, 12 Jul 2016 11:31:17 +0530 > > Shreyansh Jain wrote: > > > >> eal is a better place than crypto / ethdev for naming resources.

[dpdk-dev] [PATCH v6 16/17] ethdev: convert to eal hotplug

2016-07-15 Thread Jan Viktorin
On Fri, 15 Jul 2016 16:06:25 +0530 Shreyansh jain wrote: > On Thursday 14 July 2016 10:21 PM, Jan Viktorin wrote: > > On Tue, 12 Jul 2016 11:31:21 +0530 > > Shreyansh Jain wrote: > > > >> Remove bus logic from ethdev hotplug by using eal for this. >

[dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name

2016-07-15 Thread Jan Viktorin
On Fri, 15 Jul 2016 11:56:38 +0200 Thomas Monjalon wrote: > 2016-07-15 15:09, Shreyansh jain: > > On Thursday 14 July 2016 10:25 PM, Jan Viktorin wrote: > > > What is meant by "resources" here? > > > > This has historic context (from earlier version

[dpdk-dev] [PATCH v1 00/15] rte_driver/device infrastructure

2016-07-15 Thread Jan Viktorin
On Fri, 15 Jul 2016 15:19:14 +0200 Thomas Monjalon wrote: > 2016-07-08 21:09, Jan Viktorin: > > Hello, > > > > based on the discussions with Shreyansh, I propose a patchset with > > the important EAL changes. It is incomplete and I suppose to extend > >

[dpdk-dev] doc: announce renaming of ethdev library

2016-07-27 Thread Jan Viktorin
library filename as every other libraries. > > Signed-off-by: Thomas Monjalon > Acked-by: Jan Viktorin

[dpdk-dev] doc: deprecate vhost-cuse

2016-07-27 Thread Jan Viktorin
will be > removed in the next release (v16.11). > > Signed-off-by: Yuanhan Liu > Acked-by: Ciara Loftus > Acked-by: Thomas Monjalon > Acked-by: Rich Lane Acked-by: Jan Viktorin

[dpdk-dev] doc: announce ivshmem support removal

2016-07-27 Thread Jan Viktorin
K objects (ring/mempool) allocated by EAL > > As nobody seems interested, it is time to remove this code which > makes EAL improvements harder. > > Signed-off-by: Thomas Monjalon > Acked-by: David Marchand > Acked-by: Maxime Coquelin Acked-by: Jan Viktorin

[dpdk-dev] [PATCH v6 05/17] eal: introduce init macros

2016-07-30 Thread Jan Viktorin
On Thu, 28 Jul 2016 15:06:10 +0530 Shreyansh Jain wrote: > Hi Jan, > > On Friday 15 July 2016 04:18 PM, Shreyansh jain wrote: > > On Thursday 14 July 2016 09:27 PM, Jan Viktorin wrote: [...] > >>>>> (drv).name = RTE_STR(nm); > >>> &g

[dpdk-dev] [dpdk-dev,v5,1/3] mempool: support external handler

2016-06-01 Thread Jan Viktorin
On Tue, 31 May 2016 22:40:59 +0200 Olivier MATZ wrote: > Hi, > > On 05/31/2016 03:47 PM, Hunt, David wrote: > > On 5/31/2016 1:06 PM, Jan Viktorin wrote: > >> On Tue, 31 May 2016 10:09:42 +0100 > >> "Hunt, David" wrote: > >> > &g

[dpdk-dev] [PATCH v6 1/5] mempool: support external handler

2016-06-01 Thread Jan Viktorin
Hello David, the rename s/handler/ops/ has a lot of residues. Sorry for that :). I tried to mark most of them. Otherwise, I couldn't see many more serious issues for now. Just, note the s/pool/priv/ rename suggestion. On Wed, 1 Jun 2016 17:19:54 +0100 David Hunt wrote: > Until now, the object

[dpdk-dev] [PATCH v6 1/5] mempool: support external handler

2016-06-02 Thread Jan Viktorin
On Thu, 2 Jun 2016 12:23:41 +0100 "Hunt, David" wrote: > On 6/1/2016 6:54 PM, Jan Viktorin wrote: > > > > mp->populated_size--; > > @@ -383,13 +349,16 @@ rte_mempool_populate_phys(struct rte_mempool *mp, > > char *vaddr, > > unsi

[dpdk-dev] [PATCH v7 1/5] mempool: support external mempool operations

2016-06-03 Thread Jan Viktorin
Hello, sorry for top-posting. I vote for passing rte_mempool instead of void *. This is what I've already pointed at, a kind of type-safety...? Passing uint64_t just hides the problem. Another way is to name the union and pass it as eg. union rte_mempool_priv * to the callbacks. Jan?Vik

[dpdk-dev] [PATCH v8 1/3] mempool: support external mempool operations

2016-06-09 Thread Jan Viktorin
ALLOC set (which would > use the configured custom handler) > 3. rte_mempool_create_empty() with MEMPOOL_F_PKT_ALLOC __not__ set followed > by a call to rte_mempool_set_ops_byname() (would allow several > different custom > handlers to be used in one application > > Does

[dpdk-dev] [PATCH v8 1/3] mempool: support external mempool operations

2016-06-10 Thread Jan Viktorin
On Fri, 10 Jun 2016 09:29:44 +0200 Olivier Matz wrote: > Hi, > > On 06/09/2016 03:09 PM, Jan Viktorin wrote: > >>> My suggestion is to have an additional flag, > >>> 'MEMPOOL_F_PKT_ALLOC', which, if specified, would: > >>>

[dpdk-dev] [PATCH v4 00/10] Include resources in tests

2016-06-13 Thread Jan Viktorin
* state that tile and ppc_64 are not supported in patch 0002 * avoid moving functions test_pci_setup and test_pci_cleanup in patch 0008 Jan Viktorin (10): app/test: introduce resources for tests mk: define objcopy-specific target and arch app/test: support resources externally linked app/test

[dpdk-dev] [PATCH v4 01/10] app/test: introduce resources for tests

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 02/10] mk: define objcopy-specific target and arch

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 03/10] app/test: support resources externally linked

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 04/10] app/test: add functions to create files from resources

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 05/10] app/test: support resources archived by tar

2016-06-13 Thread Jan Viktorin
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 --- app/test/Makefile| 9 +++ app/test/resource.c

[dpdk-dev] [PATCH v4 06/10] app/test: use linked list to store PCI drivers

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 07/10] app/test: extract test_pci_setup and test_pci_cleanup

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 08/10] app/test: convert current pci_test into a single test case

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 09/10] eal/pci: allow to override sysfs

2016-06-13 Thread Jan Viktorin
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 issues --- app/test/Makefile

[dpdk-dev] [PATCH v4 10/10] app/test: do not dump PCI devices in blacklist test

2016-06-13 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v4 00/10] Include resources in tests

2016-06-13 Thread Jan Viktorin
+0200 Jan Viktorin wrote: > Hello, > > the fourth version with cosmetic changes according to the short IRC > discussion. > Note, we are adding the libarchive dependency by this patch set. > > --- > v1: > * included 5 patches improving the PCI tests > * fixed using

[dpdk-dev] [PATCH v2 00/16] Make VFIO support less dependent on PCI

2016-06-13 Thread Jan Viktorin
t and the SoC infra is not so ready yet. [1] http://comments.gmane.org/gmane.comp.networking.dpdk.devel/30913 Regards Jan --- v2: * fixed missing ifdef VFIO_PRESENT - broke builds with VFIO disabled * fixed include of eal_private.h (A. Burakov) * fixed lost viable code (A. Burakov) * fixed typo

[dpdk-dev] [PATCH v2 01/16] vfio: fix include of eal_private.h to be local

2016-06-13 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c index 10266f8..257162b 100644 --- a/lib/librte_eal/linuxapp/eal

[dpdk-dev] [PATCH v2 02/16] vfio: move VFIO-specific stuff to eal_vfio.h

2016-06-13 Thread Jan Viktorin
The common VFIO definitions should be separated from the PCI-specific parts. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_init.h | 28 lib/librte_eal/linuxapp/eal/eal_vfio.h | 28 2 files changed, 28 insertions

[dpdk-dev] [PATCH v2 03/16] vfio: move common vfio constants to eal_vfio.h

2016-06-13 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 7 --- lib/librte_eal/linuxapp/eal/eal_vfio.h | 7 +++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c

[dpdk-dev] [PATCH v2 04/16] vfio: move vfio_iommu_type and dma_map functions to eal_vfio

2016-06-13 Thread Jan Viktorin
We make the iommu_types public temporarily here until the depending stuff is refactored. The iommu_types and dma_map functions will be changed to be private inside the eal_vfio module later. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/Makefile | 1 + lib/librte_eal

[dpdk-dev] [PATCH v2 05/16] vfio: generalize pci_vfio_set_iommu_type

2016-06-13 Thread Jan Viktorin
The pci_vfio_set_iommu_type is not PCI-specific and it is a private function of the eal_pci_vfio.c. We just rename the function and make it available even for non-PCI devices. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 25 + lib

[dpdk-dev] [PATCH v2 06/16] vfio: generalize pci_vfio_has_supported_extensions

2016-06-13 Thread Jan Viktorin
The pci_vfio_has_supported_extensions is not PCI-specific and it is a private function of the eal_pci_vfio.c. We just rename the function and make it available even for non-PCI devices. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 36

[dpdk-dev] [PATCH v2 07/16] vfio: move vfio-specific SOCKET_* constants

2016-06-13 Thread Jan Viktorin
The constants are not PCI-specific. Move them into the eal_vfio.h. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_init.h | 7 --- lib/librte_eal/linuxapp/eal/eal_vfio.h | 6 ++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal

[dpdk-dev] [PATCH v2 08/16] vfio: generalize pci_vfio_get_container_fd

2016-06-13 Thread Jan Viktorin
The pci_vfio_get_container_fd is not PCI-specific. Move the implementation to the eal_vfio.c as vfio_get_container_fd. No other code seems to call this function. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_init.h | 1 - lib/librte_eal/linuxapp/eal/eal_pci_vfio.c

[dpdk-dev] [PATCH v2 09/16] vfio: generalize pci_vfio_get_group_no

2016-06-13 Thread Jan Viktorin
. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 38 +- lib/librte_eal/linuxapp/eal/eal_vfio.c | 43 ++ lib/librte_eal/linuxapp/eal/eal_vfio.h | 7 + 3 files changed, 51 insertions(+), 37 deletions(-) diff

[dpdk-dev] [PATCH v2 11/16] vfio: move global vfio_cfg to eal_vfio.c

2016-06-13 Thread Jan Viktorin
- pci_* specialization preserved as a wrapper * clear_current_group - private function, just moved To stop GCC complaining about "defined but not used", the private function pci_vfio_get_group_no has been removed entirely. Signed-off-by: Jan Viktorin --- v2 * viable code was not lost in 1

[dpdk-dev] [PATCH v2 10/16] vfio: extract setup logic out of pci_vfio_map_resource

2016-06-13 Thread Jan Viktorin
The setup logic access the global vfio_cfg variable that will be moved in the following commits. We need to separate all accesses to this variable to a general code. Signed-off-by: Jan Viktorin --- v2 * fixed lost viable code (A. Burakov) --- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 85

[dpdk-dev] [PATCH v2 12/16] vfio: fix typo in doc for vfio_setup_device

2016-06-13 Thread Jan Viktorin
Signed-off-by: Jan Viktorin Suggested-by: Anatoly Burakov --- lib/librte_eal/linuxapp/eal/eal_vfio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linuxapp/eal/eal_vfio.h index d4532a5..4ca0fa3 100644 --- a/lib

[dpdk-dev] [PATCH v2 13/16] vfio: make vfio_*_dma_map and iommu_types private

2016-06-13 Thread Jan Viktorin
There is no more reason to expose those definitions as nobody uses them. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal_vfio.c | 15 +-- lib/librte_eal/linuxapp/eal/eal_vfio.h | 11 --- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v2 14/16] vfio: rename and generalize eal_pci_vfio_mp_sync

2016-06-13 Thread Jan Viktorin
The module eal_pci_vfio_mp_sync is quite generic so it shouldn't contain the "pci" string in its name. The internal functions don't need the pci_* prefix. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/Makefile | 4 ++-- lib/lib

[dpdk-dev] [PATCH v2 15/16] vfio: initialize vfio out of the PCI subsystem

2016-06-13 Thread Jan Viktorin
The VFIO does not depend on the PCI anymore so it can be initialized out of the PCI subsystem. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal.c | 31 ++ lib/librte_eal/linuxapp/eal/eal_pci.c | 17 +--- lib/librte_eal

[dpdk-dev] [PATCH v2 16/16] vfio: change VFIO init to be extendable

2016-06-13 Thread Jan Viktorin
We can now just OR the vfio_enabled sequentially and so adding new VFIO subsystems (vfio_platform) is possible. Signed-off-by: Jan Viktorin --- lib/librte_eal/linuxapp/eal/eal.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b

[dpdk-dev] [PATCH v3 1/6] eal/arm: add 64-bit armv8 version of rte_memcpy.h

2015-11-02 Thread Jan Viktorin
t at optimising the memccpy's, so I feel > that with the current benchmark results, it would better just to remove > the assembly versions, and use the libc version for the initial release > on ARMv8. > Then, in the future, the ARMv8 experts are free to submit an optimised > v

[dpdk-dev] [PATCH v5 01/15] eal/arm: atomic operations for ARM

2015-11-02 Thread Jan Viktorin
v7), I would agree. > > > > > + > > +static inline int rte_atomic16_test_and_set(rte_atomic16_t *v) > > +{ > > + return rte_atomic16_cmpset((volatile uint16_t *)&v->cnt, 0, 1); > > +} --snip-- -- Jan Viktorin E-mail: Viktorin at RehiveTech.com System Architect Web:www.RehiveTech.com RehiveTech Brno, Czech Republic

[dpdk-dev] [PATCH v5 01/15] eal/arm: atomic operations for ARM

2015-11-02 Thread Jan Viktorin
> dmb(ishst); > } > > static inline void rte_rmb(void) > { > dmb(ishld); I cannot see this option in the doc for ARMv7 (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0588b/CIHGHHIE.html). > } > > For armv8, it make sense to have above def

[dpdk-dev] [PATCH v3 6/6] test: add checks for cpu flags on armv8

2015-11-02 Thread Jan Viktorin
RVv8, I should have split the hardware capabilities flags into 32-but > and 64-bit versions. I'll do that in the next patch. > Thanks, > Dave. Should I split the rte_atomic.h and rte_cpuflags.h then? Jan > > > > > -- Jan Viktorin E-mail: Viktorin at RehiveTech.com System Architect Web:www.RehiveTech.com RehiveTech Brno, Czech Republic

[dpdk-dev] [PATCH v3 6/6] test: add checks for cpu flags on armv8

2015-11-02 Thread Jan Viktorin
: 2 BogoMIPS: 3.07 processor : 3 BogoMIPS: 3.07 Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc05 CPU revision: 1 Hardware: ODROIDC Revision

[dpdk-dev] [PATCH v3 1/6] eal/arm: add 64-bit armv8 version of rte_memcpy.h

2015-11-02 Thread Jan Viktorin
one. Something similar could happen for > the ARMv8 patch set. We just want to end up with the best implementation > possible. :) > It was looking like we can share a lot of common code for both architectures. I didn't know how much different are the cpuflags. IMHO, it'd be

[dpdk-dev] [PATCH 2/3] arm64: acl: add neon based acl implementation

2015-11-02 Thread Jan Viktorin
On Mon, 2 Nov 2015 19:48:40 +0530 Jerin Jacob wrote: > Signed-off-by: Jerin Jacob > --- > app/test-acl/main.c | 4 + > lib/librte_acl/Makefile | 5 + > lib/librte_acl/acl.h | 4 + > lib/librte_acl/acl_run_neon.c | 46 +++ > lib/librte_acl/acl_run_neon.h | 290

[dpdk-dev] [PATCH v3 1/6] eal/arm: add 64-bit armv8 version of rte_memcpy.h

2015-11-02 Thread Jan Viktorin
On Mon, 2 Nov 2015 21:59:12 +0530 Jerin Jacob wrote: > On Mon, Nov 02, 2015 at 03:49:17PM +, Hunt, David wrote: > > On 02/11/2015 15:36, Jan Viktorin wrote: > > >On Mon, 2 Nov 2015 15:26:19 + > > --snip-- > > >It was looking like we can sh

[dpdk-dev] [PATCH 2/3] arm64: acl: add neon based acl implementation

2015-11-02 Thread Jan Viktorin
On Mon, 2 Nov 2015 21:49:54 +0530 Jerin Jacob wrote: > On Mon, Nov 02, 2015 at 04:39:37PM +0100, Jan Viktorin wrote: > > On Mon, 2 Nov 2015 19:48:40 +0530 > > Jerin Jacob wrote: > > > > > Signed-off-by: Jerin Jacob > > > --- > > > app/test-ac

[dpdk-dev] [PATCH v6 00/15] Support ARMv7 architecture

2015-11-03 Thread Jan Viktorin
: claim responsibility for ARMv7 (2015-11-02 23:34:14 +0100) --- 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 arm architecture in cpu flags eal/arm: rwlock support for ARM eal/arm: add very incomplete

[dpdk-dev] [PATCH v6 01/15] eal/arm: atomic operations for ARM

2015-11-03 Thread Jan Viktorin
From: Vlastimil Kosar This patch adds architecture specific atomic operation file for ARM architecture. The RTE_FORCE_INTRINSICS=y is required. Signed-off-by: Vlastimil Kosar Signed-off-by: Jan Viktorin --- v1 -> v2: * improve rte_wmb() * use __atomic_* or __sync_*? (may affect the requi

[dpdk-dev] [PATCH v6 02/15] eal/arm: byte order operations for ARM

2015-11-03 Thread Jan Viktorin
From: Vlastimil Kosar This patch adds architecture specific byte order operations for ARM. The architecture supports both big and little endian. It requires RTE_FORCE_INTRINSICS=y. Signed-off-by: Vlastimil Kosar Signed-off-by: Jan Viktorin --- v4: fix passing params to asm volatile for

[dpdk-dev] [PATCH v6 03/15] eal/arm: cpu cycle operations for ARM

2015-11-03 Thread Jan Viktorin
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 --- v5: prepare for applying ARMv8 --- .../c

[dpdk-dev] [PATCH v6 04/15] eal/arm: implement rdtsc by PMU or clock_gettime

2015-11-03 Thread Jan Viktorin
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

[dpdk-dev] [PATCH v6 05/15] eal/arm: prefetch operations for ARM

2015-11-03 Thread Jan Viktorin
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 --- v4: * checkpatch does not like

[dpdk-dev] [PATCH v6 06/15] eal/arm: spinlock operations for ARM (without HTM)

2015-11-03 Thread Jan Viktorin
From: Vlastimil Kosar This patch adds spinlock operations for ARM architecture. We do not support HTM in spinlocks on ARM. Setting of the RTE_FORCE_INTRINSICS=y is required. Signed-off-by: Vlastimil Kosar Signed-off-by: Jan Viktorin --- v6: use builtin intrinsics implementation

[dpdk-dev] [PATCH v6 07/15] eal/arm: vector memcpy for ARM

2015-11-03 Thread Jan Viktorin
: Vlastimil Kosar Signed-off-by: Jan Viktorin --- v4: * fix whitespace issues reported by checkpatch * fix passing params to asm volatile for checkpatch v5: prepare for applying ARMv8 --- .../common/include/arch/arm/rte_memcpy.h | 38 +++ .../common/include/arch/arm/rte_memcpy_32.h

[dpdk-dev] [PATCH v6 08/15] eal/arm: use vector memcpy only when NEON is enabled

2015-11-03 Thread Jan Viktorin
The GCC can be configured to avoid using NEON extensions. For that purpose, we provide just the memcpy implementation of the rte_memcpy. Based on the patch by David Hunt and Armuta Zende: lib: added support for armv7 architecture Signed-off-by: Jan Viktorin Signed-off-by: Amruta Zende

[dpdk-dev] [PATCH v6 09/15] eal/arm: cpu flag checks for ARM

2015-11-03 Thread Jan Viktorin
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 --- v6: separate

<    1   2   3   4   5   6   7   >