[1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info
Checks
Commit Message
rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
to provide maximum number of supported segments for a given platform.
Defining UINT16_MAX as default value of above mentioned variables to
expose support of infinite/maximum segments.
Based on above values, application can decide best size for buffers
while creating mbuf pool.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
lib/librte_ethdev/rte_ethdev.c | 2 ++
lib/librte_ethdev/rte_ethdev.h | 2 ++
2 files changed, 4 insertions(+)
Comments
On 5/27/19 11:35 AM, Sunil Kumar Kori wrote:
> rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
> to provide maximum number of supported segments for a given platform.
>
> Defining UINT16_MAX as default value of above mentioned variables to
> expose support of infinite/maximum segments.
>
> Based on above values, application can decide best size for buffers
> while creating mbuf pool.
>
> Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
On 6/9/2019 3:33 PM, Andrew Rybchenko wrote:
> On 5/27/19 11:35 AM, Sunil Kumar Kori wrote:
>> rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
>> to provide maximum number of supported segments for a given platform.
>>
>> Defining UINT16_MAX as default value of above mentioned variables to
>> expose support of infinite/maximum segments.
>>
>> Based on above values, application can decide best size for buffers
>> while creating mbuf pool.
>>
>> Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>
Applied to dpdk-next-net/master, thanks.
Hi, Sunil Kumar Kori
This series' patches have been merged on dpdk/master. They cause testpmd core dumped on intel nics.
./usertools/dpdk-devbind.py -b igb_uio 0000:xx:00.0 0000:xx:00.1
./x86_64-native-linuxapp-gcc/app/testpmd -v -c 0x3f -n 4 -- -i
Running environment as the following:
* OS:
fedora 20/22/27/30
3.16.4/4.4.14/5.1.0
* Compiler:
gcc version 5.3.1
gcc version 7.3.1
gcc version 4.8.3
* Hardware platform:
Broadwell-EP Xeon E5-2600
Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
* NIC hardware:
fortville_spirit
Ethernet Controller XL710 for 40GbE QSFP+ 1583
version: 1.5.16
firmware-version: 6.01 0x800034a4 1.1747.0
fortville(25G 2 ports nic)
Ethernet Controller XXV710 for 25GbE SFP28 158b
driver: i40e
version: 2.1.14-k
firmware-version: 6.01 0x80003554 1.1747.0
fortville(10G 2 ports nic)
Ethernet Controller X710 for 10GbE SFP+ 1572
driver: i40e
version: 2.1.14-k
firmware-version: 6.01 0x800035b0 1.1747.0
niantic
Device_str: 82599ES 10-Gigabit SFI/SFP+ Network Connection
firmware: 0x61bf0001
ixgbe: 4.3.13
ixgbevf: 2.12.1-k
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sunil Kumar Kori
> Sent: Monday, May 27, 2019 4:35 PM
> To: thomas@monjalon.net; Yigit, Ferruh <ferruh.yigit@intel.com>; arybchenko@solarflare.com; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> Wu, Jingjing <jingjing.wu@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
> Cc: dev@dpdk.org; Sunil Kumar Kori <skori@marvell.com>
> Subject: [dpdk-dev] [PATCH 1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info
>
> rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
> to provide maximum number of supported segments for a given platform.
>
> Defining UINT16_MAX as default value of above mentioned variables to
> expose support of infinite/maximum segments.
>
> Based on above values, application can decide best size for buffers
> while creating mbuf pool.
>
> Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
> ---
> lib/librte_ethdev/rte_ethdev.c | 2 ++
> lib/librte_ethdev/rte_ethdev.h | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
> index d7cfa3d..6933757 100644
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -2543,6 +2543,8 @@ struct rte_eth_dev *
> .nb_max = UINT16_MAX,
> .nb_min = 0,
> .nb_align = 1,
> + .nb_seg_max = UINT16_MAX,
> + .nb_mtu_seg_max = UINT16_MAX,
> };
>
> RTE_ETH_VALID_PORTID_OR_RET(port_id);
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 1f35e1d..6bd30b1 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -2333,6 +2333,8 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id,
> * .nb_max = UINT16_MAX,
> * .nb_min = 0,
> * .nb_align = 1,
> + * .nb_seg_max = UINT16_MAX,
> + * .nb_mtu_seg_max = UINT16_MAX,
> * };
> *
> * device = dev->device
> --
> 1.8.3.1
On 6/14/2019 6:31 AM, Mo, YufengX wrote:
> Hi, Sunil Kumar Kori
>
> This series' patches have been merged on dpdk/master. They cause testpmd core dumped on intel nics.
Right, since they can provide values as "nb_seg_max = 0, nb_mtu_seg_max = 0",
I am sending a patch now.
>
> ./usertools/dpdk-devbind.py -b igb_uio 0000:xx:00.0 0000:xx:00.1
> ./x86_64-native-linuxapp-gcc/app/testpmd -v -c 0x3f -n 4 -- -i
>
> Running environment as the following:
>
> * OS:
> fedora 20/22/27/30
> 3.16.4/4.4.14/5.1.0
>
> * Compiler:
> gcc version 5.3.1
> gcc version 7.3.1
> gcc version 4.8.3
>
> * Hardware platform:
> Broadwell-EP Xeon E5-2600
> Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
> Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
> Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
>
> * NIC hardware:
> fortville_spirit
> Ethernet Controller XL710 for 40GbE QSFP+ 1583
> version: 1.5.16
> firmware-version: 6.01 0x800034a4 1.1747.0
>
> fortville(25G 2 ports nic)
> Ethernet Controller XXV710 for 25GbE SFP28 158b
> driver: i40e
> version: 2.1.14-k
> firmware-version: 6.01 0x80003554 1.1747.0
>
> fortville(10G 2 ports nic)
> Ethernet Controller X710 for 10GbE SFP+ 1572
> driver: i40e
> version: 2.1.14-k
> firmware-version: 6.01 0x800035b0 1.1747.0
>
> niantic
> Device_str: 82599ES 10-Gigabit SFI/SFP+ Network Connection
> firmware: 0x61bf0001
> ixgbe: 4.3.13
> ixgbevf: 2.12.1-k
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sunil Kumar Kori
>> Sent: Monday, May 27, 2019 4:35 PM
>> To: thomas@monjalon.net; Yigit, Ferruh <ferruh.yigit@intel.com>; arybchenko@solarflare.com; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
>> Wu, Jingjing <jingjing.wu@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
>> Cc: dev@dpdk.org; Sunil Kumar Kori <skori@marvell.com>
>> Subject: [dpdk-dev] [PATCH 1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info
>>
>> rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
>> to provide maximum number of supported segments for a given platform.
>>
>> Defining UINT16_MAX as default value of above mentioned variables to
>> expose support of infinite/maximum segments.
>>
>> Based on above values, application can decide best size for buffers
>> while creating mbuf pool.
>>
>> Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
>> ---
>> lib/librte_ethdev/rte_ethdev.c | 2 ++
>> lib/librte_ethdev/rte_ethdev.h | 2 ++
>> 2 files changed, 4 insertions(+)
>>
>> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
>> index d7cfa3d..6933757 100644
>> --- a/lib/librte_ethdev/rte_ethdev.c
>> +++ b/lib/librte_ethdev/rte_ethdev.c
>> @@ -2543,6 +2543,8 @@ struct rte_eth_dev *
>> .nb_max = UINT16_MAX,
>> .nb_min = 0,
>> .nb_align = 1,
>> + .nb_seg_max = UINT16_MAX,
>> + .nb_mtu_seg_max = UINT16_MAX,
>> };
>>
>> RTE_ETH_VALID_PORTID_OR_RET(port_id);
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 1f35e1d..6bd30b1 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -2333,6 +2333,8 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id,
>> * .nb_max = UINT16_MAX,
>> * .nb_min = 0,
>> * .nb_align = 1,
>> + * .nb_seg_max = UINT16_MAX,
>> + * .nb_mtu_seg_max = UINT16_MAX,
>> * };
>> *
>> * device = dev->device
>> --
>> 1.8.3.1
>
On 6/14/2019 5:51 PM, Ferruh Yigit wrote:
> On 6/14/2019 6:31 AM, Mo, YufengX wrote:
>> Hi, Sunil Kumar Kori
>>
>> This series' patches have been merged on dpdk/master. They cause testpmd core dumped on intel nics.
>
> Right, since they can provide values as "nb_seg_max = 0, nb_mtu_seg_max = 0",
> I am sending a patch now.
@Yufeng, Can you please try with patch https://patches.dpdk.org/patch/54811/?
@Thomas, Can it be possible to merge fix to master? Or I can merge if you want?
Hi, Ferruh Yigit
Sorry, reply late, I have no vpn/laptop to connect to intel servers.
Daily regression is running good today since your patch has been merged yesterday.
I have applied your patch manually, it is ok.
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Saturday, June 15, 2019 1:22 AM
> To: Mo, YufengX <yufengx.mo@intel.com>; Sunil Kumar Kori <skori@marvell.com>; thomas@monjalon.net; arybchenko@solarflare.com;
> Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Iremonger, Bernard <bernard.iremonger@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info
>
> On 6/14/2019 5:51 PM, Ferruh Yigit wrote:
> > On 6/14/2019 6:31 AM, Mo, YufengX wrote:
> >> Hi, Sunil Kumar Kori
> >>
> >> This series' patches have been merged on dpdk/master. They cause testpmd core dumped on intel nics.
> >
> > Right, since they can provide values as "nb_seg_max = 0, nb_mtu_seg_max = 0",
> > I am sending a patch now.
>
> @Yufeng, Can you please try with patch https://patches.dpdk.org/patch/54811/?
>
> @Thomas, Can it be possible to merge fix to master? Or I can merge if you want?
@@ -2543,6 +2543,8 @@ struct rte_eth_dev *
.nb_max = UINT16_MAX,
.nb_min = 0,
.nb_align = 1,
+ .nb_seg_max = UINT16_MAX,
+ .nb_mtu_seg_max = UINT16_MAX,
};
RTE_ETH_VALID_PORTID_OR_RET(port_id);
@@ -2333,6 +2333,8 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id,
* .nb_max = UINT16_MAX,
* .nb_min = 0,
* .nb_align = 1,
+ * .nb_seg_max = UINT16_MAX,
+ * .nb_mtu_seg_max = UINT16_MAX,
* };
*
* device = dev->device