summaryrefslogtreecommitdiff
path: root/drivers/mempool
AgeCommit message (Collapse)Author
2018-10-29add missing static keyword to globalsFerruh Yigit
Some global variables can indeed be static, add static keyword to them. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-26use registered name for OCTEON TX referencesAnoob Joseph
'OCTEON TX' is the registered name. All other usages need to be fixed. Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2018-10-22mk: build with _GNU_SOURCE defined by defaultAnatoly Burakov
We use _GNU_SOURCE all over the place, but often times we miss defining it, resulting in broken builds on musl. Rather than fixing every library's and driver's and application's makefile, fix it by simply defining _GNU_SOURCE by default for all builds. Remove all usages of _GNU_SOURCE in source files and makefiles, and also fixup a couple of instances of using __USE_GNU instead of _GNU_SOURCE. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-10-16bus/fslmc: upgrade mc FW APIs to 10.10.0Hemant Agrawal
This patch add the support for new Management Complex Firmware version to 10.1x.x. One of the main changes in the APIs ordered queue. The fslmc bus lib ABI will need to be bumped to reflect the MC FW API and structure changes. This will also result in bumping of ABI verion of all dependent libs as they internally use the MC FW APIs and structures. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-10-16fslmc: enable dpaax libraryShreyansh Jain
With this patch, fslmc bus and ethernet devices on this bus would start using the physical-virtual library interfaces. This patch impacts mempool/dpaa2, event/dpaa2, net/dpaa2, raw/dpaa2_cmdif and raw/dpaa2_qdma as they are dependent on the bus/fslmc and thus impact linkage of libraries. Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-16dpaa: enable dpaax libraryShreyansh Jain
With this patch, dpaa bus and ethernet devices on this bus would start using the physical-virtual library interfaces. This patch impacts mempool/dpaa, event/dpaa and net/dpaa as they are dependent on the bus/dpaa and thus impact linkage of libraries. Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-09-28mempool/dpaa: change debug log level to DPHemant Agrawal
When the system goes out of buffers temporarily, the logs further slow down the system. There is no need for this continuos logs. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-08-27bus/fslmc: fix undefined reference of memsegsHemant Agrawal
This patch fix the undefined reference issue with rte_dpaa2_memsegs when compiled in shared lib mode with EXTRA_CFLAGS="-g -O0" Bugzilla ID: 61 Fixes: 365fb925d3b3 ("bus/fslmc: optimize physical to virtual address search") Cc: stable@dpdk.org Reported-by: Keith Wiles <keith.wiles@intel.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-07-12mempool/octeontx: fix pool to aura mappingPavan Nikhilesh
HW needs each pool to be mapped to an aura set of 16 auras. Previously, pool to aura mapping was considered to be 1:1. Fixes: 02fd6c744350 ("mempool/octeontx: support allocation") Cc: stable@dpdk.org Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2018-07-12remove useless constructor headersThomas Monjalon
A constructor is usually declared with RTE_INIT* macros. As it is a static function, no need to declare before its definition. The macro is used directly in the function definition. Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-05-21mempool/bucket: add to meson buildAndrew Rybchenko
Fixes: 4ed00862c81d ("mempool/bucket: implement bucket mempool manager") Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-05-08mempool/dpaa2: add functions for CMDIFNipun Gupta
There are two API's which are required by NXP specific Command Interface Application (AIOP CMDIF). This patch exposes these two API's. Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-04-27bus/dpaa: optimize physical to virtual address searchShreyansh Jain
With Hotplugging memory support, the order of memseg has been changed from physically contiguous to virtual contiguous. DPAA bus and drivers depend on PA to VA address conversion for I/O. This patch creates a list of blocks requested to be pinned to the DPAA mempool. For searching physical addresses, it is expected that it would belong to this list (from hardware pool) and hence it is less expensive than memseg walks. Though, there is a marginal drop in performance vis-a-vis the legacy mode with physically contiguous memsegs. Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-27bus/fslmc: optimize physical to virtual address searchShreyansh Jain
With Hotplugging memory support, the order of memseg has been changed from physically contiguous to virtual contiguous. FSLMC bus and dpaa2 drivers depend on PA to VA address conversion when in Physical addressing mode. This patch creates a list of blocks requested to be pinned to the DPAA2 mempool. For searching physical addresses, it is expected that it would belong to this list (from hardware pool) and hence it is less expensive than memseg walks. Though, this has marginal impact on performance vis-a-vis legacy mode with physically contiguous memsegs. Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-26mempool/bucket: do not allow one lcore to grab all bucketsArtem V. Andreev
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-04-26mempool/bucket: implement block dequeue operationArtem V. Andreev
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-04-26mempool/bucket: implement bucket mempool managerArtem V. Andreev
The manager provides a way to allocate physically and virtually contiguous set of objects. Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-04-24mempool/dpaa: prepare to remove register memory area opAndrew Rybchenko
Populate mempool driver callback is executed a bit later than register memory area, provides the same information and will substitute the later since it gives more flexibility and in addition to notification about memory area allows to customize how mempool objects are stored in memory. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-04-24mempool/octeontx: prepare to remove register memory area opAndrew Rybchenko
Callback to populate pool objects has all required information and executed a bit later than register memory area callback. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2018-04-24mempool: remove callback to get capabilitiesAndrew Rybchenko
The callback was introduced to let generic code to know octeontx mempool driver requirements to use single physically contiguous memory chunk to store all objects and align object address to total object size. Now these requirements are met using a new callbacks to calculate required memory chunk size and to populate objects using provided memory chunk. These capability flags are not used anywhere else. Restricting capabilities to flags is not generic and likely to be insufficient to describe mempool driver features. If required in the future, API which returns structured information may be added. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2018-04-17drivers/dpaa: reduce meson dependency listsBruce Richardson
Meson build currently tracks the dependencies between libraries, which can often make things easier, but has the side-effect of slowing down the initial meson run if too many duplicated dependencies are provided. Therefore, we remove dependencies from the dpaa items where other dependencies already depend on those. This provides a noticable speed-up in meson configuration runs when lots of sample apps are included in the build. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-04-11bus/fslmc: use iova2virt instead of memseg iterationAnatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com> Tested-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
2018-04-11bus/dpaa: use iova2virt instead of memseg iterationAnatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com> Tested-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
2018-04-04common/octeontx: move mbox to common folderPavan Nikhilesh
Move commonly used functions across mempool, event and net devices to a common folder in drivers. Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2018-04-02mempool/dpaa2: support dynamic loggingShreyansh Jain
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-03-15build: add meson support for dpaaX platformsHemant Agrawal
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-03-15dpaa2: prepare for 32-bit buildHemant Agrawal
This patch prepare the dpaa2 drivers for compilation on 32 bit machine. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-03-15dpaa: prepare for 32-bit buildHemant Agrawal
This patch prepares the dpaa drivers for compilation on 32 bit machine. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-03-14mk: fix dependencies of dpaaX driversHemant Agrawal
This patch fixes the build dependency of various dpaaX components, when the dpaa or fslmc bus is disabled, or VFIO is disabled. Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8") Cc: stable@dpdk.org Reported-by: Yongseok Koh <yskoh@mellanox.com> Suggested-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-02-13lib: remove unused map symbolsPavan Nikhilesh
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-01-31bus/dpaa: check portal presence in the caller functionNipun Gupta
In the I/O path we were calling rte_dpaa_portal_init which internally checks if a portal is affined to the core. But this lead to calling of that non-static API in every call. Instead check the portal affinity in the caller itself for performance reasons Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-31mempool/dpaa: fix address translation optimizationHemant Agrawal
Fixes: 83a4f267f2e3 ("mempool/dpaa: optimize phy to virt conversion") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-31drivers/octeontx: align dynamic log names with standardHarry van Haaren
This commit aligns the names for dynamic logging with the newly defined logging format. Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2018-01-30mempool/octeontx: build with mesonPavan Nikhilesh
Add octeontx hardware mempool driver to meson build. Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2018-01-30build: replace license text with SPDX tagBruce Richardson
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-30drivers/mempool: build SW drivers with mesonBruce Richardson
With build infrastructure in place, add in mempool drivers to the build. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Keith Wiles <keith.wiles@intel.com> Acked-by: Luca Boccassi <luca.boccassi@gmail.com>
2018-01-29bus/fslmc: register platform HW mempool on runtimeHemant Agrawal
Detect if the DPAA2 mempool objects are present and register it as platform default hw mempool Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-29bus/dpaa: register platform HW mempool on runtimeHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-22ethdev: separate driver APIsFerruh Yigit
Create a rte_ethdev_driver.h file and move PMD specific APIs here. Drivers updated to include this new header file. There is no update in header content and since ethdev.h included by ethdev_driver.h, nothing changed from driver point of view, only logically grouping of APIs. From applications point of view they can't access to driver specific APIs anymore and they shouldn't. More PMD specific data structures still remain in ethdev.h because of inline functions in header use them. Those will be handled separately. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2018-01-19event/dpaa2: have separate structure to hold dqrr entriesNipun Gupta
This patch provides cleaner approach to store the DQRR entries, which are yet to be consumed in case of atomic queues. Also, this patch changes the storage of the DQRR entry index into the mbuf->seqn instead of ev->opaque Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-19mempool/octeontx: fix natural alignment being optimized outPavan Nikhilesh
The mbox messages are naturally aligned and in some cases compiler optimization might disregard natural alignment. Use volatile key word to force compiler to disable optimizing and maintain alignment. Fixes: aecb8e093b52 ("event/octeontx: introduce specialized mbox message copy") Cc: stable@dpdk.org Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2018-01-19mempool/dpaa: optimize phy to virt conversionHemant Agrawal
If the allocation is from a single memzone, optimize the phy-virt address conversions. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-16mempool/octeontx: implement dynamic loggingPavan Nikhilesh
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2018-01-12mempool/octeontx: fix memory area registrationPavan Nikhilesh
Clean up the dependency between alloc and memory area registration, this removes the need for SLIST data structure and octeontx_pool_list. Fixes: 2baa3f0b7de5 ("mempool/octeontx: support memory area ops") Cc: stable@dpdk.org Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2018-01-12mempool/octeontx: fix improper memory barrierPavan Nikhilesh
Use smp barrier instead of IO barrier when sending mbox request as the write has to be reflected between cores not IO devices. Fixes: 6da9d24574db ("event/octeontx: add mailbox support") Cc: stable@dpdk.org Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2018-01-09drivers: use SPDX tag for Cavium copyright filesJerin Jacob
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-04drivers: use SPDX tag for Intel copyright filesBruce Richardson
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2018-01-04drivers: use SPDX tag in NXP dpaa filesHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-01-04drivers: use SPDX tag in NXP dpaa2 filesHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-11-06mempool: rename address mapping function to IOVAThomas Monjalon
The function rte_mempool_virt2phy() is renamed to rte_mempool_virt2iova(). The new function has one less parameter because it is unused. The deprecated function is kept as an alias to avoid breaking the API. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>