This patch add comment for flow rss parse function in
order to explain some important info.
Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
Signed-off-by: Wei Zhao
---
drivers/net/i40e/i40e_flow.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/net/i40e/i40e_flo
> On 06-Apr-2018, at 11:12 PM, Yong Wang wrote:
>
> Padam,
>
> As far as I know, this feature works. What DPDK version did you use?
DPDK Version 17.05
> Is there any port reconfiguration (stop/start/mtu change, etc) that could
> lose your vlan offload settings (a dump of the port config at
On Sun, Apr 08, 2018 at 12:51:32PM +0800, Tiwei Bie wrote:
On Thu, Apr 05, 2018 at 12:10:17PM +0200, Jens Freimann wrote:
[...]
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index a8aa87b32..9f9b5a8f8 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/
On Sun, Apr 08, 2018 at 02:07:50PM +0800, Tiwei Bie wrote:
On Thu, Apr 05, 2018 at 12:10:30PM +0200, Jens Freimann wrote:
Signed-off-by: Jens Freimann
---
drivers/net/virtio/virtio_ethdev.c | 2 +-
drivers/net/virtio/virtio_ethdev.h | 2 +-
drivers/net/virtio/virtio_rxtx.c | 15 +++-
d
>
>-Original Message-
>From: Ferruh Yigit [mailto:ferruh.yi...@intel.com]
>Sent: Friday, April 06, 2018 9:26 PM
>To: Kumar, Ravi1 ; dev@dpdk.org
>Subject: Re: [PATCH v5 01/18] net/axgbe: add minimal dev init and uninit
>support
>
>On 4/6/2018 1:36 PM, Ravi Kumar wrote:
>> Add ethernet pol
From: Harish Patil
Ethdev RX offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This patch makes use of DEV_RX_OFFLOAD_JUMBO_FRAME offload flag
to advertise jumbo frame support.
Signed-off-by: Harish Patil
---
drivers/net/bnx2x/bnx2x_ethdev.c |
On Thursday 05 April 2018 02:24 PM, Hemant Agrawal wrote:
Fixes: 62f53995caaf ("net/dpaa: add frame count based tail drop with CGR")
Coverity issue: 268342
Cc: sta...@dpdk.org
Signed-off-by: Hemant Agrawal
---
Acked-By: Shreyansh Jain
-Original Message-
> Date: Fri, 6 Apr 2018 19:49:32 +0100
> From: Konstantin Ananyev
> To: dev@dpdk.org
> CC: Konstantin Ananyev
> Subject: [dpdk-dev] [PATCH v3 00/10] add framework to load and execute BPF
> code
> X-Mailer: git-send-email 1.7.0.7
>
> BPF is used quite intensively insid
Signed-off-by: Rasesh Mody
---
drivers/net/qede/qede_ethdev.h |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h
index baae22d..4737c8f 100644
--- a/drivers/net/qede/qede_ethdev.h
+++ b/drivers/net/qede/qede_ethde
Add packet pacing support for PFs.
ecore client can request for enabling packet pacing at init time,
if requested then ecore is going to skip MCoS and SRIOV configurations.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore.h | 16 ++-
drivers/net/qede/b
One comment below.
-Original Message-
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Ravi Kumar
Sent: Friday, April 06, 2018 15:37
To: dev@dpdk.org
Cc: Yigit, Ferruh
Subject: [dpdk-dev] [PATCH v5 08/18] net/axgbe: add transmit and receive queue
setup apis
Add support for data path
Hi Ferruh,
> From: Ferruh Yigit [mailto:ferruh.yi...@intel.com]
> Sent: Friday, April 06, 2018 2:03 AM
> To: Mody, Rasesh ; dev@dpdk.org
> Cc: Dept-Eng DPDK Dev
> Subject: Re: [PATCH 00/14] net/qede/base: update PMD version to 2.8.0.1
>
> On 4/1/2018 6:46 AM, Rasesh Mody wrote:
> > Hi,
> >
> > Th
This fix allows driver to program NIC configuration to support OVLAN
mode in multi-function scenario
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore.h |6 ++
drivers/net/qede/base/ecore_dcbx.c|5 +
drivers/net/qede/base/ecore_dcbx_api.h|1 +
Add link_change_count counter to track number of link state transitions
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_dev_api.h |1 +
drivers/net/qede/base/ecore_l2.c | 10 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/net/qede/base/eco
Adjust the verbosity of the log messages and add preventive checks for
errors.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_cxt.c | 20 ++--
drivers/net/qede/base/ecore_dcbx.c|2 +-
drivers/net/qede/base/ecore_dev.c | 179 -
driver
Add SPQ timeout base driver parameter support management FW timeout values
other than default and none. Have fallback mechanism for old MFWs.
Reduce the default timeout to 1 sec.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_dev.c | 66 +++--
driver
Add API to query transceiver info and to retrieve link speed.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_mcp.c | 199 -
drivers/net/qede/base/ecore_mcp_api.h | 46
drivers/net/qede/base/mcp_public.h|1 +
3 files changed, 243
Add DMA engine sanity check during the engine initialization and before
PF inititialization
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_dev.c |5 +++
drivers/net/qede/base/ecore_hw.c | 71
drivers/net/qede/base/ecore_hw.h |
The changes included in this patch are for
- formatting
- comment rework/addtions
- relocate FW info, version related code
- convert:
__le16 to u16
__le32 to u32 etc.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_hsi_common.h | 89 +++-
drivers/net
This patch allows VF to change its own MAC address regardless of MAC set
by PF
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_iov_api.h | 11 ++
drivers/net/qede/base/ecore_proto_if.h |3 +++
drivers/net/qede/base/ecore_sriov.c| 36 +--
Add new API ecore_chain_set_cons() and fix page index setting in
ecore_chain_set_prod(). The new API is for future use.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_chain.h | 49 ++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/dri
This patch adds changes to support new firmware 8.33.12.0. The changes
consist of FW bug fixes and enhancements.
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/common_hsi.h|8 +-
drivers/net/qede/base/ecore_cxt.c | 10 +-
drivers/net/qede/base/ecore_cxt.h
Protect DMAE transactions with a spinlock instead of a mutex
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore.h |6 --
drivers/net/qede/base/ecore_dev.c |6 +++---
drivers/net/qede/base/ecore_hw.c | 31 ---
3 files changed, 27 insertions(+
Use the path ID as the phase ID when running the engine phase of the
HW init
Signed-off-by: Rasesh Mody
---
drivers/net/qede/base/ecore_dev.c |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/qede/base/ecore_dev.c
b/drivers/net/qede/base/ecore_dev.c
index 744d
Hi,
This patch set updates QEDE base driver to use FW version 8.33.12.0.
It contains some base driver enhancements and fixes. The PMD version
is updated to 2.8.0.1.
Changes in v2:
- address 32 bit compilation errors
Thanks!
-Rasesh
Rasesh Mody (14):
net/qede/base: use path ID for HW init
n
-Original Message-
> Date: Thu, 5 Apr 2018 12:51:16 +
> From: "Ananyev, Konstantin"
> To: Jerin Jacob
> CC: "dev@dpdk.org"
> Subject: RE: [dpdk-dev] [PATCH v2 5/7] bpf: introduce basic RX/TX BPF
> filters
>
>
> Hi Jerin,
>
> >
> > >
> > > > > >
> > > > > > > +/*
> > > > > > > +
There is a specific error set function for flow
error configuration, so change to this mode.
Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
Signed-off-by: Wei Zhao
Tested-by: Peng Yuan
---
v2:
-fix spelling mistake in comment.
---
drivers/net/i40e/i40e_flow.c | 22 +---
On Wed, Apr 4, 2018 at 10:48 AM, Zhang, Qi Z wrote:
>
>
>> -Original Message-
>> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Tonghao Zhang
>> Sent: Thursday, March 8, 2018 6:57 PM
>> To: Xing, Beilei ; Dai, Wei ;
>> Zhang,
>> Helin ; Lu, Wenzhuo
>> Cc: dev@dpdk.org; Tonghao Zhan
Hi,
> -Original Message-
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Martin Weiser
> Sent: Friday, January 26, 2018 5:30 PM
> To: Lu, Wenzhuo ; Ananyev, Konstantin
>
> Cc: dev@dpdk.org; Martin Weiser
> Subject: [dpdk-dev] [PATCH] net/ixgbe: allow for setting 2.5G and 5G speeds
On Thu, Apr 05, 2018 at 11:26:21AM +0200, Adrien Mazarguil wrote:
> On Tue, Apr 03, 2018 at 02:59:38PM -0300, Marcelo Ricardo Leitner wrote:
> > Hi,
> >
> > http://docs.openvswitch.org/en/latest/howto/dpdk/ says:
> >
> > Some NICs (i.e. Mellanox ConnectX-3) have only one PCI address
> > associated
This set of changes enables rte_malloc to allocate and free memory
as needed. Currently, it is disabled because legacy mem mode is
enabled unconditionally.
The way it works is, first malloc checks if there is enough memory
already allocated to satisfy user's request. If there isn't, we try
and all
Before, we were aggregating multiple pages into one memseg, so the
number of memsegs was small. Now, each page gets its own memseg,
so the list of memsegs is huge. To accommodate the new memseg list
size and to keep the under-the-hood workings sane, the memseg list
is now not just a single list, bu
This API will enable application to register for notifications
on page allocations that are about to happen, giving the application
a chance to allow or deny the allocation when total memory utilization
as a result would be above specified limit on specified socket.
Signed-off-by: Anatoly Burakov
This enables multiprocess synchronization for memory hotplug
requests at runtime (as opposed to initialization).
Basic workflow is the following. Primary process always does initial
mapping and unmapping, and secondary processes always follow primary
page map. Only one allocation request can be ac
fslmc bus needs to map all allocated memory for VFIO before
device probe. This bus doesn't support hotplug, so at the time
of this call, all possible device that could be present, are
present. This will also be the place where we install VFIO
callback, although this change will come in the next pat
Enable callbacks on first device attach, disable callbacks
on last device attach.
PPC64 IOMMU does memseg walk, which will cause a deadlock on
trying to do it inside a callback, so provide a local,
thread-unsafe copy of memseg walk.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Fix PP
Each process will have its own callbacks. Callbacks will indicate
whether it's allocation and deallocation that's happened, and will
also provide start VA address and length of allocated block.
Since memory hotplug isn't supported on FreeBSD and in legacy mem
mode, it will not be possible to regis
Now that every other piece of the puzzle is in place, enable non-legacy
init mode.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/linuxapp/eal/eal.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c
b/lib/librte_eal/linuxapp/eal/eal.c
index e7c6dcf..99c22
It is common sense to expect for DPDK process to not deallocate any
pages that were preallocated by "-m" or "--socket-mem" flags - yet,
currently, DPDK memory subsystem will do exactly that once it finds
that the pages are unused.
Fix this by marking pages as unfreebale, and preventing malloc from
Callbacks will be triggered just after allocation and just
before deallocation, to ensure that memory address space
referenced in the callback is always valid by the time
callback is called.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/malloc_heap.c| 21 +
VFIO needs to map and unmap segments for DMA whenever they
become available or unavailable, so register a callback for
memory events, and provide map/unmap functions.
Signed-off-by: Shreyansh Jain
Signed-off-by: Anatoly Burakov
---
drivers/bus/fslmc/fslmc_vfio.c | 150 ++
Add a new (non-legacy) memory init path for EAL. It uses the
new memory hotplug facilities.
If no -m or --socket-mem switches were specified, the new init
will not allocate anything, whereas if those switches were passed,
appropriate amounts of pages would be requested, just like for
legacy init.
Since we are going to need to map hugepages in both primary and
secondary processes, we need to know where we should look for
hugetlbfs mountpoints. So, share those with secondary processes,
and map them on init.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/bsdapp/eal/eal.c
Secondary initialization will just sync memory map with
primary process.
Signed-off-by: Anatoly Burakov
---
Notes:
v3:
- Improved handling of EAL hugepage info
lib/librte_eal/common/eal_common_memory.c | 1 +
lib/librte_eal/linuxapp/eal/eal_memory.c | 18 +++---
2 files c
In preparation for implementing multiprocess support, we are adding
a version number to memseg lists. We will not need any locks, because
memory hotplug will have a global lock (so any time memory map and
thus version number might change, we will already be holding a lock).
There are two ways of i
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/malloc_heap.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/common/malloc_heap.c
b/lib/librte_eal/common/malloc_heap.c
index 18c7b69..f8daf84 100644
--- a/lib/librte_eal/common/malloc_heap.c
+
This isn't used anywhere yet, but the support is now there. Also,
adding cleanup to allocation procedures, so that if we fail to
allocate everything we asked for, we can free all of it back.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/bsdapp/eal/eal_memalloc.c | 15 +++
lib/librte_eal/c
For now, memory is always contiguous because legacy mem mode is
enabled unconditionally, but this function will be helpful down
the line when we implement support for allocating physically
non-contiguous memory. We can no longer guarantee physically
contiguous memory unless we're in legacy or IOVA_
For non-legacy memory init mode, instead of looking at generic
sysfs path, look at sysfs paths pertaining to each NUMA node
for hugepage counts. Note that per-NUMA node path does not
provide information regarding reserved pages, so we might not
get the best info from these paths, but this saves us
Currently, DPDK stores all pages as separate files in hugetlbfs.
This option will allow storing all pages in one file (one file
per memseg list).
We do this by using fallocate() calls on FreeBSD, however this is
only supported on fairly recent (4.3+) kernels, so ftruncate()
fallback is provided to
rte_fbarray is a simple indexed array stored in shared memory
via mapping files into memory. Rationale for its existence is the
following: since we are going to map memory page-by-page, there
could be quite a lot of memory segments to keep track of (for
smaller page sizes, page count can easily rea
It's there, so we might as well use it. Some operations will be
sped up by that.
Since we have to allocate an fbarray for memzones, we have to do
it before we initialize memory subsystem, because that, in
secondary processes, will (later) allocate more fbarrays than the
primary process, which will
Currently it is not possible to use memory that is not owned by DPDK to
perform DMA. This scenarion might be used in vhost applications (like
SPDK) where guest send its own memory table. To fill this gap provide
API to allow registering arbitrary address in VFIO container.
Signed-off-by: Pawel Wod
This adds a "--legacy-mem" command-line switch. It will be used to
go back to the old memory behavior, one where we can't dynamically
allocate/free memory (the downside), but one where the user can
get physically contiguous memory, like before (the upside).
For now, nothing but the legacy behavior
Nothing uses this code yet. The bulk of it is copied from old
memory allocation code (linuxapp eal_memory.c). We provide an
EAL-internal API to allocate either one page or multiple pages,
guaranteeing that we'll get contiguous VA for all of the pages
that we requested.
Not supported on FreeBSD.
L
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Fixed usage of experimental API's
v3:
- Added this patch
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 13 +
drivers/event/dpaa2/Makefi
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/crypto/dpaa_sec/dpaa_sec.c | 19 +--
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c
b/drivers/crypto/dp
Simplify memzone dump code to use memzone walk, to not maintain
the same memzone iteration code twice.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_memzone.c | 42 +++---
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/lib/librte_eal
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Fixed usage of experimental API's
v3:
- Added this patch
drivers/bus/dpaa/rte_dpaa_bus.h | 12 +---
drivers/mempool/dpaa/Makefile|
This is reverse lookup of PA to VA. Using this will make
other code less dependent on internals of mem API.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_memory.c | 30 ++
lib/librte_eal/common/include/rte_memory.h | 12
lib/librte_
This function is meant to walk over first segment of each
VA-contiguous group of memsegs.
For future users of this function, this is done so that
there is less dependency on internals of mem API and less
noise later change sets.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_commo
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/net/virtio/virtio_user/vhost_kernel.c | 83 +++
1 file changed, 35 insertions(+), 48 deletions(-)
diff --git a/drivers/net/virtio/virtio_user/vhos
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/net/mlx5/mlx5_mr.c | 18 --
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index 2b
This can be used as a virt2iova function that only looks up
memory that is owned by DPDK (as opposed to doing pagemap walks).
Using this will result in less dependency on internals of mem API.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_memory.c | 37
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
Acked-by: Shreyansh Jain
---
drivers/bus/fslmc/fslmc_vfio.c | 78 ++
1 file changed, 41 insertions(+), 37 deletions(-)
diff --git a/drivers/b
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/net/mlx4/mlx4_mr.c | 17 +++--
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c
index 9a1
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 14 --
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
b/drivers/bus/
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
Reviewed-by: Venkatesh Srinivas
Reviewed-by: Maxime Coquelin
---
Notes:
v4:
- Use new memzone flag instead of new API
v3:
- Moved patch earlier in the
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 108 +++--
1 file changed, 63 insertions(+), 45 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfi
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
lib/librte_mempool/Makefile | 3 +++
lib/librte_mempool/meson.build | 3 +++
lib/librte_mempool/rte_mempool.c | 24
3 files changed, 18 insertion
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API to build files
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/crypto/dpaa_sec/dpaa_sec.c | 11 +--
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c
b/drivers/crypto/dpaa_sec/dp
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
test/test/test_malloc.c | 40 +++-
test/test/test_memory.c | 23 +++--
test/test/test_memzone.c | 53
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Added this driver to the list of modified
If a user has specified that the zone should have contiguous memory,
use the new _contig allocation API's instead of normal ones.
Otherwise, account for the fact that unless we're in IOVA_AS_VA
mode, we cannot guarantee that the pages would be physically
contiguous, so we calculate the memzone size
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API to build files
No major changes, just add some checks in a few key places, and
a new parameter to pass around.
Also, add a function to check malloc element for physical
contiguousness. For now, assume hugepage memory is always
contiguous, while non-hugepage memory will be checked.
Signed-off-by: Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
Acked-by: Harish Patil
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental A
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/bsdapp/eal/eal.c | 25 +++-
lib/librte_eal/common/eal_common_memory.c | 67 ---
lib/librte_eal/common/malloc_heap.c
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/bus/pci/Makefile| 3 +++
drivers/bus/pci/linux/pci.c | 26 ++
drivers/bus/pci/meson.build | 3 +++
3 files changed, 20 insertions(+), 12 dele
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
drivers/net/mlx5/Makefile | 3 +++
drivers/net/mlx5/mlx5.c | 24 +++-
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/drivers/net/mlx5/Makef
Reduce dependency on internal details of EAL memory subsystem, and
simplify code.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 45 --
1 file changed, 21 insertions(+), 24 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfi
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API to build files
For code that might need to iterate over list of allocated
segments, using this API will make it more resilient to
internal API changes and will prevent copying the same
iteration code over and over again.
Additionally, down the line there will be locking implemented,
so users of this API will not
We will need to be able to remove entries from free lists from
heaps during certain events, such as rollbacks, or when freeing
memory to the system (where a previously element disappears and
thus can no longer be in the free list).
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/malloc_
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Also, remove the weird page alignment code.
Signed-off-by: Anatoly Burakov
Acked-by: Fiona Trahe
---
Notes:
v4:
- Replace new API with new memzone flag
v3:
- Move the patch earlier
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
Acked-by: John Daley
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API
Move get_virtual_area out of linuxapp EAL memory and make it
common to EAL, so that other code could reserve virtual areas
as well.
Signed-off-by: Anatoly Burakov
---
Notes:
v3: replace uint64_t with size_t for size variables
lib/librte_eal/common/eal_common_memory.c | 101
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
Acked-by: Michal Krawczyk
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimenta
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API to build files
This adds a new flag to request reserved memzone to be IOVA
contiguous. This is useful for allocating hardware resources like
NIC rings/queues etc.For now, hugepage memory is always contiguous,
but we need to prepare the drivers for the switch.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
Signed-off-by: Anatoly Burakov
---
Notes:
v4:
- Use new memzone flag instead of new API
- Remove experimental API from build files
v3:
- Add experimental API to build files
All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.
This fixes the following drivers in one go:
grep -Rl rte_eth_dma_zone_reserve drivers/
drivers/net/avf/avf_rxtx.c
drivers/net/thunderx/nicvf_ethdev.c
drivers/net/e1000/igb_rxtx.c
drivers/net/e1000/em_rxtx
This will be needed because we need to know how big is the
new empty space, to check whether we can free some pages as
a result.
Signed-off-by: Anatoly Burakov
---
Notes:
v3: clarified commit message
lib/librte_eal/common/malloc_elem.c | 4 ++--
lib/librte_eal/common/malloc_elem.h | 2 +-
This patchset introduces dynamic memory allocation for DPDK (aka memory
hotplug). Based upon RFC submitted in December [1].
Dependencies (to be applied in specified order):
- EAL IOVA fix [2]
Deprecation notices relevant to this patchset:
- General outline of memory hotplug changes [3]
The vast
We shouldn't ever panic in system libraries, let alone in
such core ones as EAL, so replace all panic messages with
error messages.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/rte_malloc.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/com
As we are preparing for dynamic memory allocation, we need to be
able to handle holes in our malloc heap, hence we're switching to
doubly linked list, and prepare infrastructure to support it.
Since our heap is now aware where are our first and last elements,
there is no longer any need to have a
Malloc heap is now a doubly linked list, so it's now possible to
iterate over each malloc element regardless of its state.
Signed-off-by: Anatoly Burakov
---
Notes:
v3: mark function as experimental
lib/librte_eal/common/include/rte_malloc.h | 10 ++
lib/librte_eal/common/malloc_el
Down the line, we will need to join free segments to determine
whether the resulting contiguous free space is bigger than a
page size, allowing to free some memory back to the system.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/malloc_elem.c | 6 +++---
lib/librte_eal/common/malloc_
Down the line, we will need to do everything from the heap as any
alloc or free may trigger alloc/free OS memory, which would involve
growing/shrinking heap.
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/malloc_elem.c | 16 ++--
lib/librte_eal/common/malloc_heap.c | 38 +++
1 - 100 of 146 matches
Mail list logo