| 1e3380a2 | 29-Mar-2019 |
Anatoly Burakov <anatoly.burakov@intel.com> |
mem: do not use lockfiles for single file segments mode
Due to internal glibc limitations [1], DPDK may exhaust internal file descriptor limits when using smaller page sizes, which results in inabil
mem: do not use lockfiles for single file segments mode
Due to internal glibc limitations [1], DPDK may exhaust internal file descriptor limits when using smaller page sizes, which results in inability to use system calls such as select() by user applications.
Single file segments option stores lock files per page to ensure that pages are deleted when there are no more users, however this is not necessary because the processes will be holding onto the pages anyway because of mmap(). Thus, removing pages from the filesystem is safe even though they may be used by some other secondary process. As a result, single file segments mode no longer stores inordinate amounts of segment fd's, and the above issue with fd limits is solved.
However, this will not work for legacy mem mode. For that, simply document that using bigger page sizes is the only option.
[1] https://mails.dpdk.org/archives/dev/2019-February/124386.html
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
| c33a675b | 10-Mar-2019 |
Shahaf Shuler <shahafs@mellanox.com> |
bus: introduce device level DMA memory mapping
The DPDK APIs expose 3 different modes to work with memory used for DMA:
1. Use the DPDK owned memory (backed by the DPDK provided hugepages). This me
bus: introduce device level DMA memory mapping
The DPDK APIs expose 3 different modes to work with memory used for DMA:
1. Use the DPDK owned memory (backed by the DPDK provided hugepages). This memory is allocated by the DPDK libraries, included in the DPDK memory system (memseg lists) and automatically DMA mapped by the DPDK layers.
2. Use memory allocated by the user and register to the DPDK memory systems. Upon registration of memory, the DPDK layers will DMA map it to all needed devices. After registration, allocation of this memory will be done with rte_*malloc APIs.
3. Use memory allocated by the user and not registered to the DPDK memory system. This is for users who wants to have tight control on this memory (e.g. avoid the rte_malloc header). The user should create a memory, register it through rte_extmem_register API, and call DMA map function in order to register such memory to the different devices.
The scope of the patch focus on #3 above.
Currently the only way to map external memory is through VFIO (rte_vfio_dma_map). While VFIO is common, there are other vendors which use different ways to map memory (e.g. Mellanox and NXP).
The work in this patch moves the DMA mapping to vendor agnostic APIs. Device level DMA map and unmap APIs were added. Implementation of those APIs was done currently only for PCI devices.
For PCI bus devices, the pci driver can expose its own map and unmap functions to be used for the mapping. In case the driver doesn't provide any, the memory will be mapped, if possible, to IOMMU through VFIO APIs.
Application usage with those APIs is quite simple: * allocate memory * call rte_extmem_register on the memory chunk. * take a device, and query its rte_device. * call the device specific mapping function for this device.
Future work will deprecate the rte_vfio_dma_map and rte_vfio_dma_unmap APIs, leaving the rte device APIs as the preferred option for the user.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
| ff1e35fb | 26-Mar-2019 |
Liron Himi <lironh@marvell.com> |
kni: calculate MTU from mbuf size
- mbuf_size and mtu are now being calculated according to the given mb-pool.
- max_mtu is now being set according to the given mtu
the above two changes provide t
kni: calculate MTU from mbuf size
- mbuf_size and mtu are now being calculated according to the given mb-pool.
- max_mtu is now being set according to the given mtu
the above two changes provide the ability to work with jumbo frames
Signed-off-by: Liron Himi <lironh@marvell.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
| 86dc5089 | 20-Mar-2019 |
David Marchand <david.marchand@redhat.com> |
doc: fix examples in bonding guide
Removed incorrect space character and fixed PCI addresses.
Fixes: fc1f2750a3ec ("doc: programmers guide") Cc: stable@dpdk.org
Signed-off-by: David Marchand <davi
doc: fix examples in bonding guide
Removed incorrect space character and fixed PCI addresses.
Fixes: fc1f2750a3ec ("doc: programmers guide") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
| 1534cc6a | 12-Mar-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
doc: add notes about eventdev producer/consumer dependency
EventDev i.e consumer needs to be started before starting the event producers. Update documentation of EventDev and EventDev adapters.
Sig
doc: add notes about eventdev producer/consumer dependency
EventDev i.e consumer needs to be started before starting the event producers. Update documentation of EventDev and EventDev adapters.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Reviewed-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
| 218c4e68 | 06-Mar-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
mk: use linux and freebsd in config names
Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather t
mk: use linux and freebsd in config names
Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather than renaming the configs we can just duplicate the existing ones with the new names using symlinks, and use the new names exclusively internally. ["make showconfigs" also only shows the new names to keep the list short] The result is that backward compatibility is kept fully but any new builds or development can be done using the newer names, i.e. both "make config T=x86_64-native-linuxapp-gcc" and "T=x86_64-native-linux-gcc" work.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| 91d7846c | 06-Mar-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
eal/linux: rename linuxapp to linux
The term "linuxapp" is a legacy one, but just calling the subdirectory "linux" is just clearer for all concerned.
Signed-off-by: Bruce Richardson <bruce.richards
eal/linux: rename linuxapp to linux
The term "linuxapp" is a legacy one, but just calling the subdirectory "linux" is just clearer for all concerned.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| 25c99fbd | 06-Mar-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
eal/bsd: rename bsdapp to freebsd
The term "bsdapp" is a legacy one, but just calling the subdirectory "freebsd" is just clearer for all concerned.
Signed-off-by: Bruce Richardson <bruce.richardson
eal/bsd: rename bsdapp to freebsd
The term "bsdapp" is a legacy one, but just calling the subdirectory "freebsd" is just clearer for all concerned.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| c3568ea3 | 19-Feb-2019 |
David Marchand <david.marchand@redhat.com> |
eal: restrict control threads to startup CPU affinity
Spawning the ctrl threads on anything that is not part of the eal coremask is not that polite to the rest of the system, especially when you too
eal: restrict control threads to startup CPU affinity
Spawning the ctrl threads on anything that is not part of the eal coremask is not that polite to the rest of the system, especially when you took good care to pin your processes on cpu resources with tools like taskset (linux) / cpuset (freebsd).
Rather than introduce yet another eal options to control on which cpu those ctrl threads are created, let's take the startup cpu affinity as a reference and remove the eal coremask from it. If no cpu is left, then we default to the master core.
The cpuset is computed once at init before the original cpu affinity is lost.
Introduced a RTE_CPU_AND macro to abstract the differences between linux and freebsd respective macros.
Examples in a 4 cores FreeBSD vm:
$ ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \ -- -i --total-num-mbufs=2048
$ procstat -S 1057 PID TID COMM TDNAME CPU CSID CPU MASK 1057 100131 testpmd - 2 1 2 1057 100140 testpmd eal-intr-thread 1 1 0-1 1057 100141 testpmd rte_mp_handle 1 1 0-1 1057 100142 testpmd lcore-slave-3 3 1 3
$ cpuset -l 1,2,3 ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \ -- -i --total-num-mbufs=2048
$ procstat -S 1061 PID TID COMM TDNAME CPU CSID CPU MASK 1061 100131 testpmd - 2 2 2 1061 100144 testpmd eal-intr-thread 1 2 1 1061 100145 testpmd rte_mp_handle 1 2 1 1061 100147 testpmd lcore-slave-3 3 2 3
$ cpuset -l 2,3 ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \ -- -i --total-num-mbufs=2048
$ procstat -S 1065 PID TID COMM TDNAME CPU CSID CPU MASK 1065 100131 testpmd - 2 2 2 1065 100148 testpmd eal-intr-thread 2 2 2 1065 100149 testpmd rte_mp_handle 2 2 2 1065 100150 testpmd lcore-slave-3 3 2 3
Fixes: d651ee4919cd ("eal: set affinity for control threads") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
| 5a10413c | 24-Feb-2019 |
Thomas Monjalon <thomas@monjalon.net> |
doc: fix PCI whitelist typo in prog guide
The placeholder for PCI address should be named DBDF which stands for Domain/Bus/Device/Function.
Fixes: 33af337773ac ("ethdev: add common devargs parser")
doc: fix PCI whitelist typo in prog guide
The placeholder for PCI address should be named DBDF which stands for Domain/Bus/Device/Function.
Fixes: 33af337773ac ("ethdev: add common devargs parser") Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Rami Rosen <ramirose@gmail.com>
show more ...
|
| f959f114 | 25-Feb-2019 |
Rami Rosen <ramirose@gmail.com> |
doc: remove reference to rte.doc.mk in programmers guide
This patch removes the reference to rte.doc.mk in DPDK programmers guide.
Fixes: ee801f6cc7b8 ("mk: clean dead doc rules") Cc: stable@dpdk.o
doc: remove reference to rte.doc.mk in programmers guide
This patch removes the reference to rte.doc.mk in DPDK programmers guide.
Fixes: ee801f6cc7b8 ("mk: clean dead doc rules") Cc: stable@dpdk.org
Signed-off-by: Rami Rosen <ramirose@gmail.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
| 5c6c1480 | 22-Feb-2019 |
Tiwei Bie <tiwei.bie@intel.com> |
doc: improve vhost zero copy guide
Highlight that vhost zero copy mbufs should be consumed as soon as possible.
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.c
doc: improve vhost zero copy guide
Highlight that vhost zero copy mbufs should be consumed as soon as possible.
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
| a9de470c | 26-Feb-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
test: move to app directory
Since all other apps have been moved to the "app" folder, the autotest app remains alone in the test folder. Rather than having an entire top-level folder for this, we ca
test: move to app directory
Since all other apps have been moved to the "app" folder, the autotest app remains alone in the test folder. Rather than having an entire top-level folder for this, we can move it back to where it all started in early versions of DPDK - the "app/" folder.
This move has a couple of advantages: * This reduces clutter at the top level of the project, due to one less folder. * It eliminates the separate build task necessary for building the autotests using make "make test-build" which means that developers are less likely to miss something in their own compilation tests * It re-aligns the final location of the test binary in the app folder when building with make with it's location in the source tree.
For meson builds, the autotest app is different from the other apps in that it needs a series of different test cases defined for it for use by "meson test". Therefore, it does not get built as part of the main loop in the app folder, but gets built separately at the end.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| 0e0fb943 | 30-Jan-2019 |
Thomas Monjalon <thomas@monjalon.net> |
doc: add references to flow isolated mode in NICs guide
Some drivers (mlx, mvpp2, sfc) support the flow isolated mode, but the feature was not advertised. A reference to the feature description is a
doc: add references to flow isolated mode in NICs guide
Some drivers (mlx, mvpp2, sfc) support the flow isolated mode, but the feature was not advertised. A reference to the feature description is added for each driver.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
| 610f8f44 | 30-Jan-2019 |
Thomas Monjalon <thomas@monjalon.net> |
doc: remove useless anchor for flow API guide
A doc page (.rst file) can be referenced with :doc: syntax instead of :ref: to .. anchor.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by
doc: remove useless anchor for flow API guide
A doc page (.rst file) can be referenced with :doc: syntax instead of :ref: to .. anchor.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
| fa77f80f | 18-Jan-2019 |
David Hunt <david.hunt@intel.com> |
doc: fix references in power management guide
In the References section in the Power Management overview, both links pointed to the same l3fwd-power app. Fix the links so that one points to l3fwd-po
doc: fix references in power management guide
In the References section in the Power Management overview, both links pointed to the same l3fwd-power app. Fix the links so that one points to l3fwd-power, and the other points to the vm_power_manager sample app.
Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
show more ...
|
| e5062369 | 18-Jan-2019 |
David Marchand <david.marchand@redhat.com> |
doc: remove file listings
No need to keep those file listings, they are very likely to become outdated.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.y
doc: remove file listings
No need to keep those file listings, they are very likely to become outdated.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
show more ...
|
| 5bd5f7b3 | 16-Jan-2019 |
Jiayu Hu <jiayu.hu@intel.com> |
doc: add GRO limitations in programmers guide
This patch adds GRO limitations in the programmer guide.
Fixes: 2c900d09055e ("doc: add GRO guide") Cc: stable@dpdk.org
Signed-off-by: Jiayu Hu <jiayu
doc: add GRO limitations in programmers guide
This patch adds GRO limitations in the programmer guide.
Fixes: 2c900d09055e ("doc: add GRO guide") Cc: stable@dpdk.org
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
| 50360349 | 07-Jan-2019 |
Yong Wang <wang.yong19@zte.com.cn> |
doc: fix a typo in power management guide
This patch fixes a typo in programmer's guide. It should be Frequency, not Fequence.
Fixes: 450f0791312c ("power: add traffic pattern aware power control")
doc: fix a typo in power management guide
This patch fixes a typo in programmer's guide. It should be Frequency, not Fequence.
Fixes: 450f0791312c ("power: add traffic pattern aware power control") Cc: stable@dpdk.org
Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
show more ...
|
| e76d76b2 | 09-Jan-2019 |
Dekel Peled <dekelp@mellanox.com> |
doc: fix MAC address rewrite actions in prog guide
This patch fixes a typo in SET_MAC_DST action description. It also adds restriction note for set MAC src/dst actions description.
Fixes: 15dbcdaad
doc: fix MAC address rewrite actions in prog guide
This patch fixes a typo in SET_MAC_DST action description. It also adds restriction note for set MAC src/dst actions description.
Fixes: 15dbcdaada77 ("ethdev: add generic MAC address rewrite actions") Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
show more ...
|
| 9ef6cb1a | 10-Jan-2019 |
Konstantin Ananyev <konstantin.ananyev@intel.com> |
doc: add IPsec library guide
Add IPsec library guide and update release notes.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@i
doc: add IPsec library guide
Add IPsec library guide and update release notes.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
| b1d978fc | 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: add opaque data field to symmetric session
This patch adds a opaque data field to cryptodev symmetric session.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <f
cryptodev: add opaque data field to symmetric session
This patch adds a opaque data field to cryptodev symmetric session.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
| 5d6c73dd | 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: add reference count to session private data
This patch adds a refcnt field to every session private data in the cryptodev symmetric session. The counter is used to prevent freeing symmetr
cryptodev: add reference count to session private data
This patch adds a refcnt field to every session private data in the cryptodev symmetric session. The counter is used to prevent freeing symmetric session blindly before it is not cleared by every type of crypto device in use.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
| 9e5f5ecb | 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: add user data size to symmetric session
This patch adds a user_data_sz field to cryptodev symmetric session. The field is used to check if reading or writing the session's user data field
cryptodev: add user data size to symmetric session
This patch adds a user_data_sz field to cryptodev symmetric session. The field is used to check if reading or writing the session's user data field is eligible.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
| e764cd72 | 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: update symmetric session structure
This patch updates the rte_cryptodev_sym_session structure for cryptodev library. The updates include a changed session private data array and an added
cryptodev: update symmetric session structure
This patch updates the rte_cryptodev_sym_session structure for cryptodev library. The updates include a changed session private data array and an added nb_drivers field. They are used to calculate the correct session header size and ensure safe access of the session private data.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|