On 03/09/2016 11:50 AM, David Hunt wrote:
> If the user wants to have rte_pktmbuf_pool_create() use an external mempool
> handler, they define RTE_MEMPOOL_HANDLER_NAME to be the name of the
> mempool handler they wish to use, and change RTE_MEMPOOL_HANDLER_EXT to 'y'
>
> Signed-off-by: David Hunt
On Wed, Mar 09, 2016 at 10:59:56AM +0100, Thomas Monjalon wrote:
> 2016-03-09 14:00, Jingjing Wu:
> > When Linux PF and DPDK VF are used for i40e PMD, In case of PF reset,
> > interrupt will go via adminq event, VF need be informed the event,
> > a callback mechanism is introduced by VF. This will
On Wed, Mar 9, 2016 at 11:12 AM, Harry van Haaren
wrote:
>
> The first patch of this patchset contains a fix for EAL PCI probing,
> to avoid a race-condition where a primary and secondary probe PCI
> devices at the same time.
>
> The second patch adds a function that can be polled by a process to
On 3/9/2016 9:50 AM, David Hunt wrote:
> * removed stack hanler, may re-introduce at a later date
>
Some comments regarding this have made good points to keep this handler
in. Will do in v4.
Regards,
David.
This patch sent to keep record of latest status of the work.
This is slow data path communication implementation based on existing KNI.
Difference is: librte_kni converted into a PMD, kdp kernel module is almost
same except all control path functionality removed and some simplification done.
Mo
This kernel module is based on KNI module, but this one is stripped
version of it and only for data messages, no control functionality
provided.
FIFO implementation of the KNI is kept exact same, but ethtool related
code removed and virtual network management related code simplified.
This module
This patch provides slow data path communication to the Linux kernel.
Patch is based on librte_kni, and heavily re-uses it.
The main difference is librte_kni library converted into a PMD, to
provide ease of use for applications.
Now any application can use slow path communication without any upda
On Fri, Feb 26, 2016 at 02:51:52PM +0800, Jingjing Wu wrote:
> v3 changes:
> - commit log doc rewording.
> - rebase on latest dpdk-next-net/rel_16_04 branch.
> - remove few useless line
> - adjust interval and increase times for waiting pf msg
>
> v2 changes:
> - remove the change on vf reset
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, March 09, 2016 6:37 PM
> To: Wu, Jingjing
> Cc: dev at dpdk.org; Richardson, Bruce
> Subject: Re: [dpdk-dev] [PATCH v3 01/12] ethdev: extend flow director for
> input selection
>
> 2016-
I've changed the title for this discussion.
2016-03-09 11:01, Bruce Richardson:
[snip comments about minor issue in release notes]
> Your question, though, does bring up the issue of scope and reviews again. I,
> as
> committer, spend a lot of time tweaking commit messages, sanity checking
> pat
Hi Panu,
On 3/9/2016 10:46 AM, Panu Matilainen wrote:
> On 03/09/2016 11:50 AM, David Hunt wrote:
>> This patch is for those people who want to be easily able to switch
>> between the new mempool layout and the old. Change the value of
>> RTE_NEXT_ABI in common_base config file
>
> I guess the ide
I'd like to kindly request for review and comments.
Jan
Hi Panu,
On 3/9/2016 10:54 AM, Panu Matilainen wrote:
> On 03/09/2016 11:50 AM, David Hunt wrote:
>> If the user wants to have rte_pktmbuf_pool_create() use an external
>> mempool
>> handler, they define RTE_MEMPOOL_HANDLER_NAME to be the name of the
>> mempool handler they wish to use, and chang
This patch sent to keep record of latest status of the work.
This work is to make DPDK ports more visible and to enable using common
Linux tools to configure DPDK ports.
Patch is based on KNI but contains only control functionality of it,
also this patch does not include any Linux kernel network
With KCP, examples/ethtool/lib/ethtool has two users, to prevent code
dublication, moving library from examples folder into lib/ folder.
Signed-off-by: Ferruh Yigit
Acked-by: Remy Horton
---
v4, v5:
* No update
---
config/common_base | 5 +
config/common_linuxapp
This kernel module is based on KNI module, but this one is stripped
version of it and only for control messages, no data transfer
functionality provided.
This Linux kernel module helps userspace application create virtual
interfaces and when a control command issued into that virtual
interface, mo
This library gets control messages form kernelspace and forwards them to
librte_ether and returns response back to the kernelspace.
Library does:
1) Trigger Linux virtual interface creation
2) Initialize the netlink socket communication
3) Provides process() API to the application that does proces
Control interface APIs added into the sample application.
To have the support corresponding kernel module (KCP) needs to be inserted.
If kernel module is not there, application will run as it is without
kernel control path support.
When KCP module inserted, running application creates a virtual L
On 03/09/2016 01:38 PM, Hunt, David wrote:
> Hi Panu,
>
> On 3/9/2016 10:54 AM, Panu Matilainen wrote:
>> On 03/09/2016 11:50 AM, David Hunt wrote:
>>> If the user wants to have rte_pktmbuf_pool_create() use an external
>>> mempool
>>> handler, they define RTE_MEMPOOL_HANDLER_NAME to be the name of
Move the structure ``rte_eth_fdir_masks`` change announcement from ABI
to API in release note.
Fixes: 1409f127d7f1 (ethdev: fix byte order consistency of flow director)
Signed-off-by: Jingjing Wu
---
doc/guides/rel_notes/release_16_04.rst | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Wednesday, March 09, 2016 11:41 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v5 4/4] examples/ethtool: add control interface
> support to the application
>
> Control interface AP
Hi,
It is difficult to review a driver without any information about the
hardware. Do you have a web link to share?
2016-03-07 21:05, Jan Medala:
> +Supported features
> +--
> +
> +* Jumbo frames up to 9K
> +* Port Hardware Statistics
> +* IPv4/TCP/UDP checksum offload
> +* TSO of
From: Michal Kobylinski
This patch extend next_hop field from 8-bits to 24-bits in LPM library for IPv4.
Added versioning symbols to functions and updated
library and applications that have a dependency on LPM library.
Signed-off-by: Michal Kobylinski
Acked-by: David Hunt
---
app/test/test_l
From: Michal Kobylinski
This patch depends on: lpm: extended ipv4 next_hop field (v4).
A new rte_lpm_config structure is used so LPM library will allocate
exactly the amount of memory which is necessary to hold application?s
rules.
Signed-off-by: Michal Kobylinski
Acked-by: David Hunt
---
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Tuesday, March 08, 2016 2:32 PM
> To: Trahe, Fiona
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v7 2/2] cryptodev: change burst API to be
> crypto
> op oriented
>
> 2016-03-07 11:50, Fio
2016-03-07 21:05, Jan Medala:
> Signed-off-by: Netanel Belgazal
> Signed-off-by: Jan Medala
> Signed-off-by: Jakub Palider
> ---
> drivers/net/ena/base/ena_com.c | 2750
>
> drivers/net/ena/base/ena_com.h | 1038
> drivers/n
On 09/03/2016 11:07, David Marchand wrote:
> On Wed, Mar 9, 2016 at 11:12 AM, Harry van Haaren
> wrote:
>> The first patch of this patchset contains a fix for EAL PCI probing,
>> to avoid a race-condition where a primary and secondary probe PCI
>> devices at the same time.
>>
>> The second patch a
On 03/08/2016 07:38 PM, Tan, Jianfeng wrote:
> Hi Panu,
>
> On 3/8/2016 4:54 PM, Panu Matilainen wrote:
>> On 03/04/2016 12:05 PM, Jianfeng Tan wrote:
>>> This patch adds option, --avail-cores, to use lcores which are available
>>> by calling pthread_getaffinity_np() to narrow down detected cores b
> -Original Message-
> From: Iremonger, Bernard
> Sent: Tuesday, March 08, 2016 5:10 PM
> To: dev at dpdk.org
> Cc: Ananyev, Konstantin; Lu, Wenzhuo; Wu, Jingjing; Iremonger, Bernard
> Subject: [PATCH v4 3/3] ixgbe: fix dev_close to remove VF MAC address.
>
> Call the ixgbevf_remove_mac_
2016-03-09 13:43, Michal Jastrzebski:
> From: Michal Kobylinski
> struct rte_lpm *
> -rte_lpm_create(const char *name, int socket_id, int max_rules, int flags);
> +rte_lpm_create(const char *name, int socket_id,
> + const struct rte_lpm_config *config);
The doxygen comment must be up
On 09/03/2016 10:12, Harry van Haaren wrote:
> This patch fixes a race-condition when a primary and
> secondary process simultaneously probe PCI devices.
>
> This is implemented by moving the rte_eal_mcfg_complete()
> function call in rte_eal_init() until after rte_eal_pci_probe().
>
> The end resu
Several rte_eth_dev_* functions are currently only supported
by the ixgbe NIC driver. This patchset adds driver support
for some of these functions to the i40e and vmxnet3 drivers.
--
v3 changes:
* Rebased to dpdk-next-net
* Dropped vmxnet3 patch (duplicated elsewhere)
v2 changes:
* Rebased to o
Implements driver support for dumping of EEPROM and registers,
and the setting of MAC address.
Signed-off-by: Remy Horton
---
doc/guides/rel_notes/release_16_04.rst |5 +
drivers/net/i40e/i40e_ethdev.c | 116
drivers/net/i40e/i40e_regs.h | 1000 +++
Hi Thomas,
>
> Hi,
>
> It is an overlay on the tx burst API.
> Probably it doesn't hurt to add it but we have to be really cautious
> with the API definition to try keeping it stable in the future.
>
> 2016-02-24 18:08, Tomasz Kulasek:
> > +/**
> > + * Structure used to buffer packets for futur
The first patch of this patchset contains a fix for EAL PCI probing,
to avoid a race-condition where a primary and secondary probe PCI
devices at the same time.
The second patch adds a function that can be polled by a process to
detect if a DPDK primary process is alive. This function does not
rel
This patch fixes a race-condition when a primary and
secondary process simultaneously probe PCI devices.
This is implemented by moving the rte_eal_mcfg_complete()
function call in rte_eal_init() until after rte_eal_pci_probe().
The memory mapping of PCI device in the secondary process *must*
happe
This patch adds a new function to the EAL API:
int rte_eal_primary_proc_alive(const char *path);
The function indicates if a primary process is alive right now.
This functionality is implemented by testing for a write-
lock on the config file, and the function tests for a lock.
The use case for t
2016-03-09 13:40, Michal Jastrzebski:
> - librte_lpm.so.2
> + +librte_lpm.so.3
[...]
> -LIBABIVER := 2
> +LIBABIVER := 3
The LIBABIVER should be updated only when removing some symbols.
Here the ABI compatibility is preserved.
> int
> rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_
On 3/9/2016 9:05 PM, Panu Matilainen wrote:
> On 03/08/2016 07:38 PM, Tan, Jianfeng wrote:
>> Hi Panu,
>>
>> On 3/8/2016 4:54 PM, Panu Matilainen wrote:
>>> On 03/04/2016 12:05 PM, Jianfeng Tan wrote:
This patch adds option, --avail-cores, to use lcores which are
available
by call
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Tan, Jianfeng
> Sent: Wednesday, March 09, 2016 1:53 PM
> To: Panu Matilainen; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores
>
>
>
> On 3/9/2016 9:05 PM, Pa
On Wed, Mar 09, 2016 at 12:26:58PM +0100, Thomas Monjalon wrote:
> I've changed the title for this discussion.
>
> 2016-03-09 11:01, Bruce Richardson:
> [snip comments about minor issue in release notes]
>
> > Your question, though, does bring up the issue of scope and reviews again.
> > I, as
>
There was an ABI change and more are coming in the release 16.04.
Fixes: a9963a86b2e1 ("ethdev: increase RETA entry size")
Signed-off-by: Thomas Monjalon
---
doc/guides/rel_notes/release_16_04.rst | 5 -
lib/librte_ether/Makefile | 2 +-
2 files changed, 5 insertions(+), 2 dele
There was an ABI change in the release 16.04.
Fixes: fb76dd26a31d ("cmdline: increase command line buffer")
Signed-off-by: Thomas Monjalon
---
doc/guides/rel_notes/release_16_04.rst | 4 +++-
lib/librte_cmdline/Makefile| 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff -
On 3/9/2016 10:01 PM, Ananyev, Konstantin wrote:
>
>> -Original Message-
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Tan, Jianfeng
>> Sent: Wednesday, March 09, 2016 1:53 PM
>> To: Panu Matilainen; dev at dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-c
2016-03-09 14:15, Bruce Richardson:
> On Wed, Mar 09, 2016 at 12:26:58PM +0100, Thomas Monjalon wrote:
> > I've changed the title for this discussion.
> >
> > 2016-03-09 11:01, Bruce Richardson:
> > [snip comments about minor issue in release notes]
> >
> > > Your question, though, does bring up
2016-03-09 13:36, Ananyev, Konstantin:
> > > + if (to_send == 0)
> > > + return 0;
> >
> > Why this check is done in the lib?
> > What is the performance gain if we are idle?
> > It can be done outside if needed.
>
> Yes, that could be done outside, but if user has to do it anyway,
>
On 09/03/2016 13:37, Harry van Haaren wrote:
> This patch fixes a race-condition when a primary and
> secondary process simultaneously probe PCI devices.
>
> This is implemented by moving the rte_eal_mcfg_complete()
> function call in rte_eal_init() until after rte_eal_pci_probe().
> The memory map
Hi,
On 3/8/2016 10:44 AM, Yuanhan Liu wrote:
> On Tue, Mar 08, 2016 at 09:55:10AM +0800, Tan, Jianfeng wrote:
>> Hi Yuanhan,
>>
>> On 3/7/2016 9:13 PM, Yuanhan Liu wrote:
>>> CC'ed EAL hugepage maintainer, which is something you should do when
>>> send a patch.
>> Thanks for doing this.
>>
>>> On
> -Original Message-
> From: Tan, Jianfeng
> Sent: Wednesday, March 09, 2016 2:17 PM
> To: Ananyev, Konstantin; Panu Matilainen; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores
>
>
>
> On 3/9/2016 10:01 PM, Ananyev, Konstantin wrote:
> >
Hi,
>> Hi David,
>>
>> On 02/16/2016 03:48 PM, David Hunt wrote:
>>> adds a simple stack based mempool handler
>>>
>>> Signed-off-by: David Hunt
>>> ---
>>> lib/librte_mempool/Makefile| 2 +-
>>> lib/librte_mempool/rte_mempool.c | 4 +-
>>> lib/librte_mempool/rte_mempool.h
Hi Konstantin,
On 3/9/2016 10:44 PM, Ananyev, Konstantin wrote:
>
>> -Original Message-
>> From: Tan, Jianfeng
>> Sent: Wednesday, March 09, 2016 2:17 PM
>> To: Ananyev, Konstantin; Panu Matilainen; dev at dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-cores to detect
Hi David,
On 03/09/2016 12:30 PM, Hunt, David wrote:
> Hi Panu,
>
> On 3/9/2016 10:46 AM, Panu Matilainen wrote:
>> On 03/09/2016 11:50 AM, David Hunt wrote:
>>> This patch is for those people who want to be easily able to switch
>>> between the new mempool layout and the old. Change the value of
2016-03-09 13:37, Harry van Haaren:
> This patch adds a new function to the EAL API:
> int rte_eal_primary_proc_alive(const char *path);
>
> The function indicates if a primary process is alive right now.
> This functionality is implemented by testing for a write-
> lock on the config file, and th
On Wed, Mar 09, 2016 at 03:14:07PM +0100, Thomas Monjalon wrote:
> There was an ABI change and more are coming in the release 16.04.
>
> Fixes: a9963a86b2e1 ("ethdev: increase RETA entry size")
>
> Signed-off-by: Thomas Monjalon
> ---
> doc/guides/rel_notes/release_16_04.rst | 5 -
> lib/li
On Fri, Feb 26, 2016 at 06:01:23PM +0300, Igor Ryzhov wrote:
> Signed-off-by: Igor Ryzhov
> ---
> drivers/net/virtio/virtio_rxtx.c | 9 +++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
Applied to dpdk-next-net/rel_16_04 with superflous braces removed to comply with
coding standards:
Hi Jianfeng,
> -Original Message-
> From: Tan, Jianfeng
> Sent: Wednesday, March 09, 2016 2:56 PM
> To: Ananyev, Konstantin; Panu Matilainen; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores
>
> Hi Konstantin,
>
> On 3/9/2016 10:44 PM, Anan
> > There was an ABI change and more are coming in the release 16.04.
> >
> > Fixes: a9963a86b2e1 ("ethdev: increase RETA entry size")
> >
> > Signed-off-by: Thomas Monjalon
>
> Series Acked-by: Nelio Laranjeiro
Applied
2016-03-09 13:37, Harry van Haaren:
> The first patch of this patchset contains a fix for EAL PCI probing,
> to avoid a race-condition where a primary and secondary probe PCI
> devices at the same time.
>
> The second patch adds a function that can be polled by a process to
> detect if a DPDK prim
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Monday, March 7, 2016 5:29 PM
> To: Zhang, Helin
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 0/3] i40e setting ether type of VLANs
>
> 2016-03-07 16:12, Helin Zhang:
> > The patch set
>
> 2016-03-09 13:36, Ananyev, Konstantin:
> > > > + if (to_send == 0)
> > > > + return 0;
> > >
> > > Why this check is done in the lib?
> > > What is the performance gain if we are idle?
> > > It can be done outside if needed.
> >
> > Yes, that could be done outside, but if user has
2016-03-09 15:23, Ananyev, Konstantin:
> >
> > 2016-03-09 13:36, Ananyev, Konstantin:
> > > > > + if (to_send == 0)
> > > > > + return 0;
> > > >
> > > > Why this check is done in the lib?
> > > > What is the performance gain if we are idle?
> > > > It can be done outside if needed.
>
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, March 9, 2016 16:27
> To: Ananyev, Konstantin
> Cc: Kulasek, TomaszX ; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api
>
> 2016-03-09 15:23, Ananyev
Hi,
I am planning to use a PTP Daemon (http://linuxptp.sourceforge.net/) on a
Ethernet port that is used by the DPDK.
The kernel NIC interface should allow me to pass PTP frame from/to the
Linux Ethernet interface (via rte_kni_tx_burst() and rte_kni_rx_burst()).
But the PTP daemon also requires S
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, March 09, 2016 3:27 PM
> To: Ananyev, Konstantin
> Cc: Kulasek, TomaszX; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api
>
> 2016-03-09 15:23, Ananye
2016-03-09 15:42, Ananyev, Konstantin:
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > 2016-03-09 15:23, Ananyev, Konstantin:
> > > >
> > > > 2016-03-09 13:36, Ananyev, Konstantin:
> > > > > > > + if (to_send == 0)
> > > > > > > + return 0;
> > > > > >
> > > > > > Why
2016-03-09 15:32, Kulasek, TomaszX:
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > 2016-03-09 15:23, Ananyev, Konstantin:
> > > >
> > > > 2016-03-09 13:36, Ananyev, Konstantin:
> > > > > > > + if (to_send == 0)
> > > > > > > + return 0;
> > > > > >
> > > > > > Why thi
This patchset adds feature to source and sink type port in librte_port
library, and to examples/ip_pipline. Originally, source/sink ports act
as input and output of NULL packets generator. This patchset enables
them read from and write to specific PCAP file, to generate and dump
packets.
v3:
*adde
Originally, sink ports in librte_port releases received mbufs back to
mempool. This patch adds optional packet dumping to PCAP feature in sink
port: the packets will be dumped to user defined PCAP file for storage or
debugging. The user may also choose the sink port's activity: either it
continuous
This patch add PCAP file support to ip_pipeline. Input port type SOURCE
now supports loading specific PCAP file and sends the packets in it to
pipeline instance. The packets are then released by SINK output port. This
feature can be applied by specifying parameters in configuration file as
shown be
Originally, source ports in librte_port is an input port used as packet
generator. Similar to Linux kernel /dev/zero character device, it
generates null packets. This patch adds optional PCAP file support to
source port: instead of sending NULL packets, the source port generates
packets copied from
This patch add packet dumping feature to ip_pipeline. Output port type
SINK now supports dumping packets to PCAP file before releasing mbuf back
to mempool. This feature can be applied by specifying parameters in
configuration file as shown below:
[PIPELINE1]
type = PASS-THROUGH
core = 1
pktq_in =
On Thu, Mar 03, 2016 at 03:26:39PM +0100, Adrien Mazarguil wrote:
> To preserve compatibility with Mellanox OFED 3.1, flow director and RX VLAN
> stripping code is only enabled if compiled with 3.2.
>
> Changes in v3:
> - Fixed flow registration issue caused by missing masks in flow rules.
> - Fix
2016-03-09 19:59, Jingjing Wu:
> Move the structure ``rte_eth_fdir_masks`` change announcement from ABI
> to API in release note.
>
> Fixes: 1409f127d7f1 (ethdev: fix byte order consistency of flow director)
> Signed-off-by: Jingjing Wu
Applied, thanks
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, March 09, 2016 3:52 PM
> To: Ananyev, Konstantin
> Cc: Kulasek, TomaszX; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api
>
> 2016-03-09 15:42, Ananye
No functional change, just fix some comments and styling issues.
Also avoid to duplicate comments between rte_mempool_create()
and rte_mempool_xmem_create().
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 17 +---
lib/librte_mempool/rte_mempool.h | 59 +---
This series is a rework of mempool. For those who don't want to read
all the cover letter, here is a sumary:
- it is not possible to allocate large mempools if there is not enough
contiguous memory, this series solves this issue
- introduce new APIs with less arguments: "create, populate, obj_in
In some mempool functions, we use the size of the elements as arguments or in
variables. There is a confusion between the size including or not including
the header and trailer.
To avoid this confusion:
- update the API documentation
- rename the variables and argument names as "elt_size" when the
There's no reason to keep this function inlined. Move it to
rte_mempool.c.
Note: we don't see it in the patch, but the #pragma ignoring
"-Wcast-qual" is still there in the C file.
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 68 +++
lib/libr
Since commits d2e0ca22f and 97e7e685b the headers and trailers
of the mempool are defined as a structure. We can get their
size using a sizeof instead of doing a calculation that will
become wrong at the first structure update.
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 1
Next changes of this patch series are too heavy to keep a compat
layer. So bump the version number of the library.
Signed-off-by: Olivier Matz
---
doc/guides/rel_notes/release_16_04.rst | 2 +-
lib/librte_mempool/Makefile| 2 +-
lib/librte_mempool/rte_mempool_version.map | 6
In next commits, we will add the ability to populate the
mempool and iterate through objects using the same function.
We will use the same callback type for that. As the callback is
not a constructor anymore, rename it into rte_mempool_obj_cb_t.
The rte_mempool_obj_iter_t that was used to iterate
Most functions that can be done on a mempool require a non-const mempool
pointer, except the dump and the audit. Therefore, the mempool_walk()
is more useful if the mempool pointer is not const.
This is required by next commit where the mellanox drivers use
rte_mempool_walk() to iterate the mempoo
This macro removes the const attribute of a variable. It must be used
with care in specific situations. It's better to use this macro instead
of a manual cast, as it explicitly shows the intention of the developer.
This macro is used in the next commit of the series.
Signed-off-by: Olivier Matz
Now that the mempool objects are chained into a list, we can use it to
browse them. This implies a rework of rte_mempool_obj_iter() API, that
does not need to take as many arguments as before. The previous function
is kept as a private function, and renamed in this commit. It will be
removed in a n
Introduce a list entry in object header so they can be listed and
browsed. The objective is to introduce a more simple way to browse the
elements of a mempool.
The next commits will update rte_mempool_obj_iter() to use this list,
and remove the previous complex implementation.
Signed-off-by: Oliv
This makes the code of rte_mempool_create() clearer, and it will make
the introduction of external mempool handler easier (in another patch
series). Indeed, this function contains the specific part when a ring is
used, but it could be replaced by something else in the future.
This commit also adds
Use the new rte_mempool_obj_iter() instead the old rte_mempool_obj_iter()
to iterate among objects to audit them (check for cookies).
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 42 +++-
1 file changed, 7 insertions(+), 35 deletions(-)
Store the physical address of the object in its header. It simplifies
rte_mempool_virt2phy() and prepares the removing of the paddr[] table
in the mempool header.
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 17 +++--
lib/librte_mempool/rte_mempool.h | 10 ++
The next commits will change the behavior of the mempool library so that
the objects will never be allocated in the same memzone than the mempool
header. Therefore, there is no reason to keep this macro that would
always return 0.
This macro was only used in app/test.
Signed-off-by: Olivier Matz
Since previous commit, the function rte_mempool_xmem_usage() is
now the last user of rte_mempool_obj_mem_iter(). This complex
code can now be moved inside the function. We can get rid of the
callback and do some simplification to make the code more readable.
Signed-off-by: Olivier Matz
---
lib/l
Introduce a free callback that is passed to the populate* functions,
which is used when freeing a mempool. This is unused now, but as next
commits will populate the mempool with several chunks of memory, we
need a way to free them properly on error.
Later in the series, we will also introduce a pu
Do not use paddr table to store the mempool memory chunks.
This will allow to have several chunks with different virtual addresses.
Signed-off-by: Olivier Matz
---
app/test/test_mempool.c | 2 +-
lib/librte_mempool/rte_mempool.c | 205 ++-
lib/librt
In the same model than rte_mempool_obj_iter(), introduce
rte_mempool_mem_iter() to iterate the memory chunks attached
to the mempool.
Signed-off-by: Olivier Matz
---
lib/librte_mempool/rte_mempool.c | 18 ++
lib/librte_mempool/rte_mempool.h | 26 ++
Storing the pointer to the memzone instead of the physical address
provides more information than just the physical address: for instance,
the memzone flags.
Moreover, keeping the memzone pointer will allow us to free the mempool
(this is done later in the series).
Signed-off-by: Olivier Matz
--
Introduce rte_mempool_populate_default() which allocates
mempool objects in several memzones.
The mempool header is now always allocated in a specific memzone
(not with its objects). Thanks to this modification, we can remove
many specific behavior that was required when hugepages are not
enabled
Update rte_mempool_xmem_size() so that when the page_shift argument is
set to 0, assume that memory is physically contiguous, allowing to
ignore page boundaries. This will be used in the next commits.
By the way, rename the variable 'n' as 'obj_per_page' and avoid the
affectation inside the if().
Introduce rte_mempool_free() that:
- unlink the mempool from the global list if it is found
- free all the memory chunks using their free callbacks
- free the internal ring
- free the memzone containing the mempool
Currently this function is only used in error cases when
creating a new mempool, b
Introduce a new function rte_mempool_populate_virt() that is now called
by default when hugepages are not supported. This function populate the
mempool with several physically contiguous chunks whose minimum size is
the page size of the system.
Thanks to this, rte_mempool_create() will work proper
Introduce a new function rte_mempool_create_empty()
that allocates a mempool that is not populated.
The functions rte_mempool_create() and rte_mempool_xmem_create()
now make use of it, making their code much easier to read.
Currently, they are the only users of rte_mempool_create_empty()
but the f
Although the physical address won't be correct in memory segment,
this allows at least to retrieve the physical address using
rte_mem_virt2phy(). Indeed, if the page is not locked, the page
may not be present in physical memory.
With next commit, it allows a mempool to have properly filled physica
101 - 200 of 245 matches
Mail list logo