[dpdk-dev] [PATCH 0/9] prepare for rte_device / rte_driver

2016-01-29 Thread David Marchand
. I did not test patch 8 on FreeBSD (did not even compile it, for now). [1] http://dpdk.org/ml/archives/dev/2016-January/031390.html [2] http://dpdk.org/ml/archives/dev/2015-November/028289.html Regards, -- David Marchand David Marchand (9): pci: no need for dynamic tailq init pci: register

[dpdk-dev] [PATCH 1/9] pci: no need for dynamic tailq init

2016-01-29 Thread David Marchand
These lists can be initialized once and for all at build time. With this, those lists are only manipulated in a common place (and we could even make them private). A nice side effect is that pci drivers can now register in constructors. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp

[dpdk-dev] [PATCH 2/9] pci: register all pdev as pci drivers

2016-01-29 Thread David Marchand
pdev drivers are actually pci drivers. Wrappers for ethdev and crypto pci drivers, that assume a 1 to 1 association between pci device and upper device, have been added so that current drivers are not impacted. Signed-off-by: David Marchand --- drivers/crypto/qat/rte_qat_cryptodev.c

[dpdk-dev] [PATCH 3/9] drivers: no more pdev drivers

2016-01-29 Thread David Marchand
Now that pdev drivers have been converted to pci drivers, there is nothing left in their init functions that can't go in a constructor. pdev / vdev drivers init order is changed by this commit, but I can't see why we would need to preserve it. Signed-off-by: David Marchand --- drivers/crypto

[dpdk-dev] [PATCH 4/9] eal/linux: move back interrupt thread init before setting affinity

2016-01-29 Thread David Marchand
Now that virtio pci driver is initialized in a constructor, we only need to move the interrupt thread init after loading the plugins. This way, chelsio driver should be happy again [1]. [1] http://dpdk.org/ml/archives/dev/2015-November/028289.html Signed-off-by: David Marchand --- lib

[dpdk-dev] [PATCH 5/9] eal: get rid of pmd type

2016-01-29 Thread David Marchand
Now that we only have vdev drivers, there is no need for a pmd type in rte_driver. rte_driver is now purely a vdev thing, and could be renamed later (then .init would become .probe, .uninit would become .remove). Signed-off-by: David Marchand --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 2

[dpdk-dev] [PATCH 6/9] eal: initialize vdevs right next to pci devices

2016-01-29 Thread David Marchand
This way, the resources probing happens in a common place. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/eal.c | 7 +++ lib/librte_eal/common/include/rte_dev.h | 2 +- lib/librte_eal/linuxapp/eal/eal.c | 7 +++ 3 files changed, 15 insertions(+), 1 deletion

[dpdk-dev] [PATCH 7/9] pci: add a helper for device name

2016-01-29 Thread David Marchand
eal is a better place than ethdev for naming resources. Add a helper here, and make use of it in ethdev hotplug code. Signed-off-by: David Marchand --- lib/librte_eal/common/include/rte_pci.h | 28 lib/librte_ether/rte_ethdev.c | 22

[dpdk-dev] [PATCH 8/9] pci: add a helper to refresh a device

2016-01-29 Thread David Marchand
It will be used mainly for hotplug code. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/eal_pci.c | 49 +++ lib/librte_eal/common/eal_private.h | 13 ++ lib/librte_eal/linuxapp/eal/eal_pci.c | 13 ++ 3 files changed, 75 insertions

[dpdk-dev] [PATCH 9/9] eal: relocate hotplug code from ethdev

2016-01-29 Thread David Marchand
hotplug which deals with resources should come from the layer that already handles them, i.e. eal. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 8 + lib/librte_eal/common/eal_common_dev.c | 39 lib/librte_eal/common/eal_common_pci.c

[dpdk-dev] [PATCH v2 0/9] pci cleanup and blacklist rework

2016-01-29 Thread David Marchand
[1] http://dpdk.org/ml/archives/dev/2015-November/028140.html [2] http://dpdk.org/ml/archives/dev/2016-January/032387.html -- David Marchand David Marchand (9): pci: add internal device list helpers pci/linux: minor cleanup pci/linux: rework sysfs parsing for driver pci: factorize probe/detach

[dpdk-dev] [PATCH v2 1/9] pci: add internal device list helpers

2016-01-29 Thread David Marchand
Remove duplicate code by moving this to helpers in common. Signed-off-by: David Marchand --- Changes since v1: - moved helpers to eal_private.h --- lib/librte_eal/bsdapp/eal/eal_pci.c| 34 --- lib/librte_eal/common/eal_common_pci.c | 76 -- lib

[dpdk-dev] [PATCH v2 2/9] pci/linux: minor cleanup

2016-01-29 Thread David Marchand
Those are the only fields that are explicitly set to 0 while the global dev pointer is set to 0 a few lines before. Signed-off-by: David Marchand --- lib/librte_eal/linuxapp/eal/eal_pci.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal

[dpdk-dev] [PATCH v2 3/9] pci/linux: rework sysfs parsing for driver

2016-01-29 Thread David Marchand
There is no use for pci_get_kernel_driver_by_path() apart recognising kernel driver and fill kdrv field. Signed-off-by: David Marchand --- Changes since v1: - updated the commitlog, Huawei already did the "unknown" -> "none" change, so this patch ends up just ref

[dpdk-dev] [PATCH v2 6/9] pci: factorize driver search

2016-01-29 Thread David Marchand
Same idea as a few commits before, no need to implement the same logic in probe and detach functions. Here, the driver matching is done by a helper, then probe / detach functions are called respectively. Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 96

[dpdk-dev] [PATCH v2 5/9] pci: cosmetic change

2016-01-29 Thread David Marchand
Indent previous commit, rename functions (internal and local functions do not need rte_eal_ prefix). Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 106 - 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/lib/librte_eal

[dpdk-dev] [PATCH v2 4/9] pci: factorize probe/detach code

2016-01-29 Thread David Marchand
Move pci id matching to a helper and reuse it in probe and detach functions. Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 67 -- 1 file changed, 23 insertions(+), 44 deletions(-) diff --git a/lib/librte_eal/common/eal_common_pci.c

[dpdk-dev] [PATCH v2 7/9] pci: remove driver lookup from detach

2016-01-29 Thread David Marchand
A device is linked to a driver at probe time. When detaching, we should call this same driver detach() function and no need for a driver lookup. Signed-off-by: David Marchand --- Changes since v1: - moved some logs for consistency --- lib/librte_eal/common/eal_common_pci.c | 19

[dpdk-dev] [PATCH v2 8/9] pci: implement blacklist using a hook

2016-01-29 Thread David Marchand
whitelist. Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 101 + 1 file changed, 77 insertions(+), 24 deletions(-) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index 082eab8..4a0ec73 100644

[dpdk-dev] [PATCH v2 9/9] pci: implement automatic bind/unbind

2016-01-29 Thread David Marchand
Reuse pci hook to implement automatic bind / unbind. The more I look at this, the more I think this should go to the PMDs themselves (with options per devices to control this), with EAL offering helpers to achieve this. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/eal_pci.c

[dpdk-dev] [PATCH 09/11] eal: move PCI table macro

2016-07-08 Thread David Marchand
d_register.h sounds like a new generic header with pci specific stuff in it. So, I am not sure I follow you Neil. Can you elaborate ? - Why do you want to centralise the tag naming ? To avoid collisions ? Well, adding those tags should not happen that often and I think we can maintain this with careful reviews. -- David Marchand

[dpdk-dev] Ignoring number of bytes read in eal

2016-07-11 Thread David Marchand
I'd rather fix this than mark this as false positive, Sergio ? -- David Marchand

[dpdk-dev] [PATCH v4 00/10] kill global pci device id list (almost)

2016-07-11 Thread David Marchand
update (will be sent separately) [1]: http://dpdk.org/ml/archives/dev/2016-April/037686.html -- David Marchand David Marchand (10): eal: remove PCI device ids header from doxygen net/e1000: move em PCI device ids to the driver net/i40e: move PCI device ids to the driver net/fm10k: move PCI

[dpdk-dev] [PATCH v4 01/10] eal: remove PCI device ids header from doxygen

2016-07-11 Thread David Marchand
This file is going to disappear, remove the doxygen parts that reference various drivers and remove it from the doxygen index. Signed-off-by: David Marchand --- doc/api/doxy-api-index.md | 1 - lib/librte_eal/common/include/rte_pci_dev_ids.h | 40

[dpdk-dev] [PATCH v4 02/10] net/e1000: move em PCI device ids to the driver

2016-07-11 Thread David Marchand
Reused defines from the driver and added a Intel vendor id macro for use by igb later. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. igb/igbvf is left as is, waiting for kni/ethtool cleanup. Signed-off-by: David Marchand --- Changes since v3: - dropped all but em pci device ids

[dpdk-dev] [PATCH v4 03/10] net/i40e: move PCI device ids to the driver

2016-07-11 Thread David Marchand
Reused defines from the driver. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- Changes since v3 - added new pci ids from HEAD --- drivers/net/i40e/i40e_ethdev.c | 25 +++-- drivers/net/i40e/i40e_ethdev_vf.c | 9

[dpdk-dev] [PATCH v4 05/10] net/virtio: move PCI device ids to the driver

2016-07-11 Thread David Marchand
Reused defines from the driver. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand Acked-by: Yuanhan Liu --- drivers/net/virtio/virtio_ethdev.c | 7 ++- lib/librte_eal/common/include/rte_pci_dev_ids.h | 16 2 files

[dpdk-dev] [PATCH v4 06/10] net/vmxnet3: move PCI device ids to the driver

2016-07-11 Thread David Marchand
Moved vmware device ids macro since the driver had no such information. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- drivers/net/vmxnet3/vmxnet3_ethdev.c| 9 - lib/librte_eal/common/include/rte_pci_dev_ids.h | 16

[dpdk-dev] [PATCH v4 08/10] net/bnx2x: move PCI device ids to the driver

2016-07-11 Thread David Marchand
Reused defines from the driver and moved broadcom vendor id macro. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- drivers/net/bnx2x/bnx2x.c | 3 +- drivers/net/bnx2x/bnx2x_ethdev.c| 21 -- lib

[dpdk-dev] [PATCH v4 09/10] net/bnxt: move PCI device ids to the driver

2016-07-11 Thread David Marchand
Moved defines since the driver had no such information. Used RTE_PCI_DEVICE in place of RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- drivers/net/bnxt/bnxt_ethdev.c | 27 +--- lib/librte_eal/common/include/rte_pci_dev_ids.h | 34

[dpdk-dev] [PATCH v4 10/10] net/ena: remove unneeded PCI macro

2016-07-11 Thread David Marchand
I suppose this is a remnant of rte_pci_dev_ids.h, just remove this. Signed-off-by: David Marchand --- drivers/net/ena/ena_ethdev.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index f1b5e64..ac0803d 100644

[dpdk-dev] [PATCH 2/2] app/test: filter out unavailable tests

2016-07-15 Thread David Marchand
ered tests. > Thus they cannot be parsed as available test commands. > > Signed-off-by: Thomas Monjalon Suggested-by: David Marchand and I trust you for the python ;-) -- David Marchand

[dpdk-dev] [PATCH] pci: Don't call probe callback if driver already loaded.

2016-11-07 Thread David Marchand
useful if a driver is registered after the >> execution of a program has started and the list of devices >> needs to be re-scanned. >> >> Signed-off-by: Ben Walker > > Applied, thanks Can you add a follow up patch I will send shortly ? Thanks. -- David Marchand

[dpdk-dev] [PATCH] pci: do not mark device as taken when probe fails

2016-11-07 Thread David Marchand
dev->driver should be set only if a driver did take the device. Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pc

[dpdk-dev] [PATCH] pci: fix one device probing

2016-11-07 Thread David Marchand
al_pci_probe_one(const struct rte_pci_addr *addr) > continue; > > ret = pci_probe_all_drivers(dev); > - if (ret < 0) > + if (ret) > goto err_return; > return 0; > } Acked-by: David Marchand -- David Marchand

[dpdk-dev] Clarification for eth_driver changes

2016-11-10 Thread David Marchand
and no need to expose a type. > 3. Similarly, rte_eth_dev has rte_pci_device which should be replaced with > rte_device. Yes, that's the main change for me. Thanks. -- David Marchand

[dpdk-dev] [PATCH 1/2] net: remove dead driver names

2016-11-10 Thread David Marchand
ing the pmd must do is: - for pci drivers, call rte_eth_copy_pci_info() which then sets data->drv_name - for vdev drivers, manually set data->drv_name At this stage, virtio-user does not properly report a driver name (fixed in next commit). Signed-off-by: David Marchand -

[dpdk-dev] [PATCH 2/2] net: align ethdev and eal driver names

2016-11-10 Thread David Marchand
Some virtual pmds report a different name than the vdev driver name registered in eal. While it does not hurt, let's try to be consistent. Signed-off-by: David Marchand --- drivers/net/af_packet/rte_eth_af_packet.c | 4 +++- drivers/net/bonding/rte_eth_bond_api.c | 7 +++ drivers/net

[dpdk-dev] [PATCH] doc: announce API and ABI changes for librte_eal

2016-11-10 Thread David Marchand
> + provide a way to handle device initialization currently being done in > + ``eth_driver``. > -- > 2.7.4 > Acked-by: David Marchand -- David Marchand

[dpdk-dev] [PATCH 2/2] net: align ethdev and eal driver names

2016-11-14 Thread David Marchand
Hello Ferruh, On Thu, Nov 10, 2016 at 7:46 PM, Ferruh Yigit wrote: > On 11/10/2016 1:51 PM, David Marchand wrote: >> Some virtual pmds report a different name than the vdev driver name >> registered in eal. >> While it does not hurt, let's try to be consistent. >&

[dpdk-dev] Clarification for eth_driver changes

2016-11-14 Thread David Marchand
On Fri, Nov 11, 2016 at 8:16 PM, Ferruh Yigit wrote: > On 11/10/2016 11:05 AM, Shreyansh Jain wrote: >> On Thursday 10 November 2016 01:46 PM, David Marchand wrote: >>> Do we really need to keep a eth_driver ? >> >> No. As you have rightly mentioned below (as

[dpdk-dev] [PATCH v2] eal/linuxapp: fix return value check of mknod()

2016-11-16 Thread David Marchand
ci: move uio mapping in a dedicated file") The commit you are pointing is just moving the code. I would incriminate f7f97c16048e ("pci: add option --create-uio-dev to run without hotplug") The rest looks good to me. -- David Marchand

[dpdk-dev] [PATCH 2/7] eal: Helper to convert to struct rte_pci_device

2016-11-20 Thread David Marchand
; }; > > +#define ETH_DEV_PCI_DEV(ptr) ((ptr)->pci_dev) > + > /** Any PCI device identifier (vendor, device, ...) */ > #define PCI_ANY_ID (0x) > #define RTE_CLASS_ANY_ID (0xff) This should come from ethdev, not eal. -- David Marchand

[dpdk-dev] [PATCH 7/7] ethdev: Move filling of rte_eth_dev_info->pci_dev to dev_infos_get()

2016-11-20 Thread David Marchand
| 1 - > 20 files changed, 28 insertions(+), 1 deletion(-) Looks good to me. -- David Marchand

[dpdk-dev] [RFC PATCH 0/6] Restructure EAL device model for bus support

2016-11-20 Thread David Marchand
e rte_driver using the bus match method then call the probe method. If the probe succeeds, the rte_device points to the associated rte_driver, - migrate the pci scan code to a pci bus (scan looks at sysfs for linux / ioctl for bsd + devargs for blacklist / whitelist ?), match is the same at what is done in rte_eal_pci_probe_one_driver() at the moment, - migrate the vdev init code to a vdev bus (scan looks at devargs): this is new, we must create rte_device objects for vdev drivers to use later Then we can talk about the next steps once the bus is in place. -- David Marchand

[dpdk-dev] [PATCH] eal: postpone vdev initialization

2016-11-20 Thread David Marchand
gt; 3) bond device 2 configure/start > 3.1) pcie device 0/stop/configure/start > 3.2) pcie device 1/stop/configure/start This patch is fine. It's been a while since I looked at the bonding pmd. I am just wondering if the bonding pmd should really start its slaves ports. -- David Marchand

[dpdk-dev] [PATCH 4/7] virtio: Don't fill dev_info->driver_name

2016-11-21 Thread David Marchand
On Mon, Nov 21, 2016 at 5:34 PM, Jan Blunck wrote: > On Sun, Nov 20, 2016 at 4:22 PM, David Marchand >> I posted something similar [1], so looks good to me :-) >> >> [1]: http://dpdk.org/dev/patchwork/patch/16991/ >> > > Thanks for reviewing. Do we go wit

[dpdk-dev] [PATCH v2 2/2] net: align ethdev and eal driver names

2016-11-21 Thread David Marchand
Some virtual pmds report a different name than the vdev driver name registered in eal. While it does not hurt, let's try to be consistent. Signed-off-by: David Marchand Reviewed-by: Ferruh Yigit --- drivers/net/af_packet/rte_eth_af_packet.c | 4 +++- drivers/net/bonding/rte_eth_bond_api.c

[dpdk-dev] [PATCH] app/testpmd: display port driver name

2016-11-23 Thread David Marchand
fos for port 0 * MAC address: DE:AD:DE:01:02:03 Driver name: net_af_packet Connect to socket: 0 memory allocation on the socket: 0 Signed-off-by: David Marchand --- This small patch is what I used to check http://dpdk.org/dev/patchwork/patch/17170/ and http://dpdk.org/dev/patchw

[dpdk-dev] [PATCH] log: do not drop debug logs at compile time

2016-10-04 Thread David Marchand
+ */ > +#define RTE_LOG_DP(l, t, ...) \ > (void)((RTE_LOG_ ## l <= RTE_LOG_LEVEL) ? \ > rte_log(RTE_LOG_ ## l, \ > RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__) : \ > -- > 2.8.1 Hum, I suppose RTE_LOG_DP should look at RTE_LOG_DP_LEVEL. -- David Marchand

[dpdk-dev] [PATCH] log: do not drop debug logs at compile time

2016-10-04 Thread David Marchand
pes and levels, can't we filter at build time depending on the log "type" ? Here we would strip PMD type logs > INFO. -- David Marchand

[dpdk-dev] [PATCH 1/1] eal: Don't fail secondary if primary is missing tailqs

2016-10-05 Thread David Marchand
). "Later", each process updates this list with the actual pointer to the lists by looking at the shared memory in rte_eal_init (calling rte_eal_tailqs_init). What matters is that secondary tailqs are a subset of the primary tailqs. I still have some trouble understanding what you are trying to do. As Sergio asked, can you come up with a simplified example/use case ? Thanks. -- David Marchand

[dpdk-dev] [PATCH 1/2] ethdev: fix hotplug attach

2016-10-07 Thread David Marchand
quot;) Reported-by: Daniel Mrzyglod Signed-off-by: David Marchand --- lib/librte_ether/rte_ethdev.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index c517e88..24029f0 100644 --- a/lib/librte_ether/rte_et

[dpdk-dev] [PATCH 2/2] ethdev: fix vendor id in debug message

2016-10-07 Thread David Marchand
Fixes: af75078fece3 ("first public release") Signed-off-by: David Marchand --- 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 24029f0..88fa382 100644 --- a/lib/li

[dpdk-dev] [PATCH] net/virtio: add missing driver name

2016-10-07 Thread David Marchand
The driver name has been lost with the eal rework. Restore it. Fixes: c830cb295411 ("drivers: use PCI registration macro") Signed-off-by: David Marchand --- drivers/net/virtio/virtio_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/virtio/virtio_ethdev.c

[dpdk-dev] [PATCH] ethdev: Support VFs on the different PCI domains

2016-10-11 Thread David Marchand
->addr.devid, > pci_dev->addr.function); > if (ret < 0) This patch is obsolete since this part has been moved to eal. Can you test with current master branch if there is still an issue ? Thanks. -- David Marchand

[dpdk-dev] [PATCH v6] eal: add function to check if primary proc alive

2016-03-08 Thread David Marchand
On Tue, Mar 8, 2016 at 12:13 PM, Thomas Monjalon wrote: > 2016-03-08 09:58, Van Haaren, Harry: >> From: David Marchand [mailto:david.marchand at 6wind.com] >> > When I look at this new api, I am under the impression that you are >> > supposed to check for primary li

[dpdk-dev] [PATCH v6] eal: add function to check if primary proc alive

2016-03-08 Thread David Marchand
On Tue, Mar 8, 2016 at 2:57 PM, Van Haaren, Harry wrote: >> From: David Marchand [mailto:david.marchand at 6wind.com] >> >> The issue is that if a secondary process is initialized, it holds a read >> >> lock on /var/run/.rte_config and this prevents a primary fr

[dpdk-dev] [PATCH v8 0/2] eal: add function to check primary alive

2016-03-09 Thread David Marchand
ervices to DPDK primary applications such as monitoring > statistics and performing fault detection. Sergio, please can you have a look at this patchset ? Thanks. -- David Marchand

[dpdk-dev] [PATCH] virtio: fix wrong features returned for legacy virtio

2016-03-10 Thread David Marchand
> (the 32th bit) for legacy virtio, which is obviously wrong. > > Fixes: b8f04520ad71 ("virtio: use PCI ioport API") > > Cc: David Marchand > Signed-off-by: Yuanhan Liu Argh, good catch. Relooked at my patch, this should be the only bug (of this kind ;-)). Reviewed-by: David Marchand -- David Marchand

[dpdk-dev] [PATCH 0/4] x86 ioport fixes

2016-03-15 Thread David Marchand
Here is a patchset for little cleanups and a fix on newly introduced pci ioport api. The last patch fixes a regression reported by Mauricio V. [1]. [1]: http://dpdk.org/ml/archives/dev/2016-February/033922.html -- David Marchand David Marchand (4): pci: explicitly call ioport handlers

[dpdk-dev] [PATCH 1/4] pci: explicitly call ioport handlers for uio_pci_generic

2016-03-15 Thread David Marchand
Prepare for fixes on x86 by separating igb_uio and uio_pci_generic cases. Signed-off-by: David Marchand --- lib/librte_eal/linuxapp/eal/eal_pci.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index

[dpdk-dev] [PATCH 2/4] pci: align ioport unmap error handling to ioport map

2016-03-15 Thread David Marchand
Same idea as commit bd80d4730aca ("pci: rework ioport map error handling"). Signed-off-by: David Marchand --- lib/librte_eal/linuxapp/eal/eal_pci.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/li

[dpdk-dev] [PATCH 3/4] pci: align ioport special case for x86 in read/write/unmap

2016-03-15 Thread David Marchand
onsistency. Signed-off-by: David Marchand --- lib/librte_eal/linuxapp/eal/eal_pci.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index 7707292..74c6919 100644 --- a/lib/librte_ea

[dpdk-dev] [PATCH 4/4] pci: fix ioport support for uio_pci_generic on x86

2016-03-15 Thread David Marchand
uio_pci_generic does not offer the same sysfs helpers as igb_uio. In this case, ioport number can only be retrieved by parsing /proc/ioports. Fixes: 756ce64b1ecd ("eal: introduce PCI ioport API") Reported-by: Mauricio V?squez Signed-off-by: David Marchand --- lib/librte_eal/li

[dpdk-dev] [PATCH] eal: add missing long-options for short option arguments

2016-03-18 Thread David Marchand
>And why cut down to mem rather than memory ? > > I debated on mem-size, but I noticed in a couple places some used memsize. I > can change them to any thing someone wants. If you want memory-channels and > memory-ranks I am good with that too. Ok, since I can see no real argument against, let's go with explicit options : --memory-size --memory-channels --memory-ranks The best would be then to align all other existing long options (but keeping compat with existing ones). Deal ? -- David Marchand

[dpdk-dev] [PATCH] doc: announce API changes for device objects

2016-04-07 Thread David Marchand
Following discussions with Jan, here is a deprecation notice to prepare for hotplug and rte_device changes to come in 16.07. Signed-off-by: David Marchand --- doc/guides/rel_notes/deprecation.rst | 12 1 file changed, 12 insertions(+) diff --git a/doc/guides/rel_notes

[dpdk-dev] [PATCH] doc: announce API changes for device objects

2016-04-07 Thread David Marchand
On Thu, Apr 7, 2016 at 7:09 PM, Jan Viktorin wrote: > On Thu, 7 Apr 2016 19:00:43 +0200 > David Marchand wrote: >> >> Following discussions with Jan, here is a deprecation notice to prepare >> >> for >> >> hotplug and rte_device changes to come in 16.07

[dpdk-dev] [PATCH] pci: remove deprecated specific config

2016-04-15 Thread David Marchand
ementation has been deprecated in commit b7cf8e155. >> The config helper - through igb_uio sysfs entries - is now removed. >> >> Signed-off-by: Thomas Monjalon > Acked-by: Helin Zhang Thanks. Acked-by: David Marchand -- David Marchand

[dpdk-dev] [PATCH] remove poisoned flags

2016-04-20 Thread David Marchand
> Signed-off-by: Thomas Monjalon Acked-by: David Marchand -- David Marchand

[dpdk-dev] [PATCH] eal: remove useless internal function from memcpy headers

2016-04-20 Thread David Marchand
t; > Signed-off-by: Thomas Monjalon Looks good to me. Acked-by: David Marchand -- David Marchand

[dpdk-dev] [PATCH 1/1] lib/librte_eal: fix resource leak

2016-04-20 Thread David Marchand
munmap((void *)(uintptr_t)base_addr, > mcfg->memseg[s].len); > + What is the point of this casting ? Idem for the rest of the patch. I can't see cleanup for previously mapped segments when mapping one fails. Do we want this cleanup as well ? CC Sergio. -- David Marchand

[dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver

2016-04-20 Thread David Marchand
ves/dev/2016-January/031390.html Regards, -- David Marchand David Marchand (17): pci: no need for dynamic tailq init crypto: no need for a crypto pmd type drivers: align pci driver definitions eal: remove duplicate function declaration eal: introduce init macros crypto: export init/uni

[dpdk-dev] [PATCH v2 01/17] pci: no need for dynamic tailq init

2016-04-20 Thread David Marchand
These lists can be initialized once and for all at build time. With this, those lists are only manipulated in a common place (and we could even make them private). A nice side effect is that pci drivers can now register in constructors. Signed-off-by: David Marchand Reviewed-by: Jan Viktorin

[dpdk-dev] [PATCH v2 02/17] crypto: no need for a crypto pmd type

2016-04-20 Thread David Marchand
This information is not used and just adds noise. Signed-off-by: David Marchand --- lib/librte_cryptodev/rte_cryptodev.c | 8 +++- lib/librte_cryptodev/rte_cryptodev.h | 2 -- lib/librte_cryptodev/rte_cryptodev_pmd.h | 3 +-- 3 files changed, 4 insertions(+), 9 deletions(-) diff

[dpdk-dev] [PATCH v2 03/17] drivers: align pci driver definitions

2016-04-20 Thread David Marchand
Pure coding style, but it might make it easier later if we want to move fields in rte_cryptodev_driver and eth_driver structures. Signed-off-by: David Marchand --- drivers/crypto/qat/rte_qat_cryptodev.c | 2 +- drivers/net/ena/ena_ethdev.c | 2 +- drivers/net/nfp/nfp_net.c

[dpdk-dev] [PATCH v2 04/17] eal: remove duplicate function declaration

2016-04-20 Thread David Marchand
rte_eal_dev_init is declared in both eal_private.h and rte_dev.h since its introduction. This function has been exported in ABI, so remove it from eal_private.h Fixes: e57f20e05177 ("eal: make vdev init path generic for both virtual and pci devices") Signed-off-by: David Marchand

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

2016-04-20 Thread David Marchand
Introduce a RTE_INIT macro used to mark an init function as a constructor. Current eal macros have been converted to use this (no functional impact). RTE_EAL_PCI_REGISTER is added as a helper for pci drivers. Suggested-by: Jan Viktorin Signed-off-by: David Marchand --- lib/librte_eal/common

[dpdk-dev] [PATCH v2 06/17] crypto: export init/uninit common wrappers for pci drivers

2016-04-20 Thread David Marchand
Preparing for getting rid of rte_cryptodev_driver, here are two wrappers that can be used by pci drivers that assume a 1 to 1 association between pci resource and upper interface. Signed-off-by: David Marchand --- lib/librte_cryptodev/rte_cryptodev.c | 16 lib

[dpdk-dev] [PATCH v2 07/17] ethdev: export init/uninit common wrappers for pci drivers

2016-04-20 Thread David Marchand
Preparing for getting rid of eth_drv, here are two wrappers that can be used by pci drivers that assume a 1 to 1 association between pci resource and upper interface. Signed-off-by: David Marchand --- lib/librte_ether/rte_ethdev.c | 14 +++--- lib/librte_ether/rte_ethdev.h

[dpdk-dev] [PATCH v2 08/17] drivers: convert all pdev drivers as pci drivers

2016-04-20 Thread David Marchand
egistering a pci driver. Signed-off-by: David Marchand --- drivers/crypto/qat/rte_qat_cryptodev.c | 16 +++ drivers/net/bnx2x/bnx2x_ethdev.c| 35 +--- drivers/net/cxgbe/cxgbe_ethdev.c| 24 +++-- drivers/net/e1000/em_ethdev.c

[dpdk-dev] [PATCH v2 09/17] crypto: get rid of crypto driver register callback

2016-04-20 Thread David Marchand
Now that all pdev are pci drivers, we don't need to register crypto drivers through a dedicated channel. Signed-off-by: David Marchand --- lib/librte_cryptodev/rte_cryptodev.c | 22 --- lib/librte_cryptodev/rte_cryptodev_pmd.h | 30 -- lib

[dpdk-dev] [PATCH v2 10/17] ethdev: get rid of eth driver register callback

2016-04-20 Thread David Marchand
Now that all pdev are pci drivers, we don't need to register ethdev drivers through a dedicated channel. Signed-off-by: David Marchand --- lib/librte_ether/rte_ethdev.c | 22 -- lib/librte_ether/rte_ethdev.h | 12 lib/librte_ether

[dpdk-dev] [PATCH v2 11/17] eal/linux: move back interrupt thread init before setting affinity

2016-04-20 Thread David Marchand
Now that virtio pci driver is initialized in a constructor, iopl() stuff happens early enough so that interrupt thread can be created right after plugin loading. This way, chelsio driver should be happy again [1]. [1] http://dpdk.org/ml/archives/dev/2015-November/028289.html Signed-off-by: David

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

2016-04-20 Thread David Marchand
eal is a better place than crypto / ethdev for naming resources. Add a helper in eal and make use of it in crypto / ethdev. Signed-off-by: David Marchand --- lib/librte_cryptodev/rte_cryptodev.c| 27 --- lib/librte_eal/common/include/rte_pci.h | 25

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

2016-04-20 Thread David Marchand
This helper updates a pci device object with latest information it can find. It will be used mainly for hotplug code. Signed-off-by: David Marchand --- lib/librte_eal/bsdapp/eal/eal_pci.c | 49 +++ lib/librte_eal/common/eal_private.h | 13 ++ lib

[dpdk-dev] [PATCH v2 14/17] ethdev: do not scan all pci devices on attach

2016-04-20 Thread David Marchand
No need to scan all devices, we only need to update the device being attached. Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_pci.c | 11 --- lib/librte_ether/rte_ethdev.c | 3 --- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib

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

2016-04-20 Thread David Marchand
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 Marchand --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 8

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

2016-04-20 Thread David Marchand
need some mechanism to inform applications of port creation/removal to substitute for ethdev hotplug api. dev_type field in struct rte_eth_dev and rte_eth_dev_allocate are kept as is, but this information is not needed anymore and is removed in the following commit. Signed-off-by: David Marchand

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

2016-04-20 Thread David Marchand
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 --- app/test/virtual_pmd.c| 2 +- drivers/net/af_packet/rte_eth_af_packet.c | 2 +- drivers/net/bonding/rte_eth_bond_api.c| 2 +- drivers

[dpdk-dev] [PATCH v3 00/13] kill global pci device id list

2016-04-20 Thread David Marchand
Marchand David Marchand (13): e1000: move pci device ids to driver ixgbe: move pci device ids to driver i40e: move pci device ids to driver fm10k: move pci device ids to driver virtio: move pci device ids to driver vmxnet3: move pci device ids to driver enic: move pci device ids to driver

[dpdk-dev] [PATCH v3 01/13] e1000: move pci device ids to driver

2016-04-20 Thread David Marchand
-off-by: David Marchand --- app/test/Makefile | 3 + app/test/test_pci.c | 3 +- drivers/net/e1000/em_ethdev.c | 2 +- drivers/net/e1000/em_pci_dev_ids.h | 208 +++ drivers/net/e1000

[dpdk-dev] [PATCH v3 02/13] ixgbe: move pci device ids to driver

2016-04-20 Thread David Marchand
test application and kni still want to know ixgbe pci devices. So let's create a header in the driver that will be used by them. Same comment as for e1000 driver, we can't reuse base/ headers at the moment because of macros redefinitions nightmare. Signed-off-by: David Marchand --- app/test

[dpdk-dev] [PATCH v3 03/13] i40e: move pci device ids to driver

2016-04-20 Thread David Marchand
Since the base driver already defines all pci device ids, no need to redefine them, let's just drop the previous RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- drivers/net/i40e/i40e_ethdev.c | 21 ++-- drivers/net/i40e/i40e_ethdev_vf.c | 9

[dpdk-dev] [PATCH v3 04/13] fm10k: move pci device ids to driver

2016-04-20 Thread David Marchand
Since the base driver already defines all pci device ids, no need to redefine them, let's just drop the previous RTE_PCI_DEV_ID_DECL* stuff. Signed-off-by: David Marchand --- drivers/net/fm10k/fm10k_ethdev.c| 7 +++--- lib/librte_eal/common/include/rte_pci_dev_ids.h | 29

[dpdk-dev] [PATCH v3 05/13] virtio: move pci device ids to driver

2016-04-20 Thread David Marchand
Reused defines from virtio_pci.h. Signed-off-by: David Marchand --- drivers/net/virtio/virtio_ethdev.c | 7 ++- lib/librte_eal/common/include/rte_pci_dev_ids.h | 17 - 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/drivers/net/virtio

[dpdk-dev] [PATCH v3 06/13] vmxnet3: move pci device ids to driver

2016-04-20 Thread David Marchand
Moved vmware device ids macro since the driver had no such information. Signed-off-by: David Marchand --- drivers/net/vmxnet3/vmxnet3_ethdev.c| 9 - lib/librte_eal/common/include/rte_pci_dev_ids.h | 16 2 files changed, 4 insertions(+), 21 deletions

[dpdk-dev] [PATCH v3 07/13] enic: move pci device ids to driver

2016-04-20 Thread David Marchand
Moved cisco vendor id since the driver had no such information. Signed-off-by: David Marchand --- drivers/net/enic/enic_ethdev.c | 13 + lib/librte_eal/common/include/rte_pci_dev_ids.h | 17 - 2 files changed, 5 insertions(+), 25 deletions(-) diff

[dpdk-dev] [PATCH v3 08/13] bnx2x: move pci device ids to driver

2016-04-20 Thread David Marchand
Reused defines from the driver and moved broadcom vendor id macro. Signed-off-by: David Marchand --- drivers/net/bnx2x/bnx2x.c | 3 +- drivers/net/bnx2x/bnx2x_ethdev.c| 21 +++-- lib/librte_eal/common/include/rte_pci_dev_ids.h | 60

[dpdk-dev] [PATCH v3 09/13] ena: remove unneeded pci macro

2016-04-20 Thread David Marchand
I suppose this is a remnant of rte_pci_dev_ids.h, just remove this. Signed-off-by: David Marchand --- drivers/net/ena/ena_ethdev.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 2b60a67..efa5e31

<    1   2   3   4   5   6   7   8   >