[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-12 Thread Vlad Zolotarov
This series contains some bug fixes that were found during my work on the ixgbe 
LRO
patches. Sending this series separately on Thomas request so that it may be 
integrated
into the 2.0 release.

New in v3:
   - Adjusted to the new structs naming in the master.
   - Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
  - Don't set them to FALSE in rte_eth_dev_stop() flow - the following
rte_eth_dev_start() will need them.
  - Reset them to TRUE in rte_eth_dev_configure() and not in a probe() flow.
This will ensure the proper behaviour if port is re-configured.
   - Rename:
  - ixgbe_rx_vec_condition_check() -> 
ixgbe_rx_vec_dev_conf_condition_check()
  - set_rx_function() -> ixgbe_set_rx_function()
   - Clean up the logic in ixgbe_set_rx_function().
   - Define stubs with __attribute__((weak)) instead of using #ifdef's.
   - Styling: beautify ixgbe_rxtx.h a bit.

New in v2:
   - Fixed a compilation failure.


Vlad Zolotarov (3):
  ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
reading/setting HW ring descriptor fields
  ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
  ixgbe: Unify the rx_pkt_bulk callback initialization

 lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   2 +
 lib/librte_pmd_ixgbe/ixgbe_ethdev.c |  13 +-
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216 +---
 lib/librte_pmd_ixgbe/ixgbe_rxtx.h   |  28 -
 lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |   2 +-
 5 files changed, 183 insertions(+), 78 deletions(-)

-- 
2.1.0



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-13 Thread Ananyev, Konstantin


> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
> Sent: Thursday, March 12, 2015 9:17 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow
> 
> This series contains some bug fixes that were found during my work on the 
> ixgbe LRO
> patches. Sending this series separately on Thomas request so that it may be 
> integrated
> into the 2.0 release.
> 
> New in v3:
>- Adjusted to the new structs naming in the master.
>- Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
>   - Don't set them to FALSE in rte_eth_dev_stop() flow - the following
> rte_eth_dev_start() will need them.
>   - Reset them to TRUE in rte_eth_dev_configure() and not in a probe() 
> flow.
> This will ensure the proper behaviour if port is re-configured.
>- Rename:
>   - ixgbe_rx_vec_condition_check() -> 
> ixgbe_rx_vec_dev_conf_condition_check()
>   - set_rx_function() -> ixgbe_set_rx_function()
>- Clean up the logic in ixgbe_set_rx_function().
>- Define stubs with __attribute__((weak)) instead of using #ifdef's.
>- Styling: beautify ixgbe_rxtx.h a bit.
> 
> New in v2:
>- Fixed a compilation failure.
> 
> 
> Vlad Zolotarov (3):
>   ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
> reading/setting HW ring descriptor fields
>   ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
>   ixgbe: Unify the rx_pkt_bulk callback initialization
> 
>  lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   2 +
>  lib/librte_pmd_ixgbe/ixgbe_ethdev.c |  13 +-
>  lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216 
> +---
>  lib/librte_pmd_ixgbe/ixgbe_rxtx.h   |  28 -
>  lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |   2 +-
>  5 files changed, 183 insertions(+), 78 deletions(-)
> 

Acked-by: Konstantin Ananyev 

Just one nit:

+int __attribute__((weak)) ixgbe_rxq_vec_setup(
+   struct ixgbe_rx_queue __rte_unused *rxq)
+{

Please use notation:
int __attribute__((weak))
ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)

To keep up with the rest of the code, plus makes much easier to read.

> --
> 2.1.0



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-13 Thread Vlad Zolotarov


On 03/13/15 13:07, Ananyev, Konstantin wrote:
>
>> -Original Message-
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
>> Sent: Thursday, March 12, 2015 9:17 PM
>> To: dev at dpdk.org
>> Subject: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow
>>
>> This series contains some bug fixes that were found during my work on the 
>> ixgbe LRO
>> patches. Sending this series separately on Thomas request so that it may be 
>> integrated
>> into the 2.0 release.
>>
>> New in v3:
>> - Adjusted to the new structs naming in the master.
>> - Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
>>- Don't set them to FALSE in rte_eth_dev_stop() flow - the following
>>  rte_eth_dev_start() will need them.
>>- Reset them to TRUE in rte_eth_dev_configure() and not in a probe() 
>> flow.
>>  This will ensure the proper behaviour if port is re-configured.
>> - Rename:
>>- ixgbe_rx_vec_condition_check() -> 
>> ixgbe_rx_vec_dev_conf_condition_check()
>>- set_rx_function() -> ixgbe_set_rx_function()
>> - Clean up the logic in ixgbe_set_rx_function().
>> - Define stubs with __attribute__((weak)) instead of using #ifdef's.
>> - Styling: beautify ixgbe_rxtx.h a bit.
>>
>> New in v2:
>> - Fixed a compilation failure.
>>
>>
>> Vlad Zolotarov (3):
>>ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
>>  reading/setting HW ring descriptor fields
>>ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
>>ixgbe: Unify the rx_pkt_bulk callback initialization
>>
>>   lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   2 +
>>   lib/librte_pmd_ixgbe/ixgbe_ethdev.c |  13 +-
>>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216 
>> +---
>>   lib/librte_pmd_ixgbe/ixgbe_rxtx.h   |  28 -
>>   lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |   2 +-
>>   5 files changed, 183 insertions(+), 78 deletions(-)
>>
> Acked-by: Konstantin Ananyev 
>
> Just one nit:
>
> +int __attribute__((weak)) ixgbe_rxq_vec_setup(
> + struct ixgbe_rx_queue __rte_unused *rxq)
> +{
>
> Please use notation:
> int __attribute__((weak))
> ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
>
> To keep up with the rest of the code, plus makes much easier to read.

I took an example from kni/ethtool/igb/kcompat.h for a template but no 
problem.
Do u want me to respin or it's ok? I will use this format for the 
follow-up LRO patch anyway...

>
>> --
>> 2.1.0



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-13 Thread Ananyev, Konstantin
Hi Vlad,

> -Original Message-
> From: Vlad Zolotarov [mailto:vladz at cloudius-systems.com]
> Sent: Friday, March 13, 2015 11:52 AM
> To: Ananyev, Konstantin; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow
> 
> 
> 
> On 03/13/15 13:07, Ananyev, Konstantin wrote:
> >
> >> -Original Message-
> >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
> >> Sent: Thursday, March 12, 2015 9:17 PM
> >> To: dev at dpdk.org
> >> Subject: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow
> >>
> >> This series contains some bug fixes that were found during my work on the 
> >> ixgbe LRO
> >> patches. Sending this series separately on Thomas request so that it may 
> >> be integrated
> >> into the 2.0 release.
> >>
> >> New in v3:
> >> - Adjusted to the new structs naming in the master.
> >> - Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
> >>- Don't set them to FALSE in rte_eth_dev_stop() flow - the following
> >>  rte_eth_dev_start() will need them.
> >>- Reset them to TRUE in rte_eth_dev_configure() and not in a 
> >> probe() flow.
> >>  This will ensure the proper behaviour if port is re-configured.
> >> - Rename:
> >>- ixgbe_rx_vec_condition_check() -> 
> >> ixgbe_rx_vec_dev_conf_condition_check()
> >>- set_rx_function() -> ixgbe_set_rx_function()
> >> - Clean up the logic in ixgbe_set_rx_function().
> >> - Define stubs with __attribute__((weak)) instead of using #ifdef's.
> >> - Styling: beautify ixgbe_rxtx.h a bit.
> >>
> >> New in v2:
> >> - Fixed a compilation failure.
> >>
> >>
> >> Vlad Zolotarov (3):
> >>ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
> >>  reading/setting HW ring descriptor fields
> >>ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
> >>ixgbe: Unify the rx_pkt_bulk callback initialization
> >>
> >>   lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   2 +
> >>   lib/librte_pmd_ixgbe/ixgbe_ethdev.c |  13 +-
> >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216 
> >> +---
> >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.h   |  28 -
> >>   lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |   2 +-
> >>   5 files changed, 183 insertions(+), 78 deletions(-)
> >>
> > Acked-by: Konstantin Ananyev 
> >
> > Just one nit:
> >
> > +int __attribute__((weak)) ixgbe_rxq_vec_setup(
> > +   struct ixgbe_rx_queue __rte_unused *rxq)
> > +{
> >
> > Please use notation:
> > int __attribute__((weak))
> > ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
> >
> > To keep up with the rest of the code, plus makes much easier to read.
> 
> I took an example from kni/ethtool/igb/kcompat.h for a template but no
> problem.
> Do u want me to respin or it's ok? I will use this format for the
> follow-up LRO patch anyway...

Doing that in LRO patch set is ok.
No need for respin that one, I think.
Konstantin

> 
> >
> >> --
> >> 2.1.0



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-13 Thread Vladislav Zolotarov
On Mar 13, 2015 2:51 PM, "Ananyev, Konstantin" 
wrote:
>
> Hi Vlad,
>
> > -Original Message-
> > From: Vlad Zolotarov [mailto:vladz at cloudius-systems.com]
> > Sent: Friday, March 13, 2015 11:52 AM
> > To: Ananyev, Konstantin; dev at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD
Rx flow
> >
> >
> >
> > On 03/13/15 13:07, Ananyev, Konstantin wrote:
> > >
> > >> -Original Message-
> > >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
> > >> Sent: Thursday, March 12, 2015 9:17 PM
> > >> To: dev at dpdk.org
> > >> Subject: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx
flow
> > >>
> > >> This series contains some bug fixes that were found during my work
on the ixgbe LRO
> > >> patches. Sending this series separately on Thomas request so that it
may be integrated
> > >> into the 2.0 release.
> > >>
> > >> New in v3:
> > >> - Adjusted to the new structs naming in the master.
> > >> - Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
> > >>- Don't set them to FALSE in rte_eth_dev_stop() flow - the
following
> > >>  rte_eth_dev_start() will need them.
> > >>- Reset them to TRUE in rte_eth_dev_configure() and not in a
probe() flow.
> > >>  This will ensure the proper behaviour if port is
re-configured.
> > >> - Rename:
> > >>- ixgbe_rx_vec_condition_check() ->
ixgbe_rx_vec_dev_conf_condition_check()
> > >>- set_rx_function() -> ixgbe_set_rx_function()
> > >> - Clean up the logic in ixgbe_set_rx_function().
> > >> - Define stubs with __attribute__((weak)) instead of using
#ifdef's.
> > >> - Styling: beautify ixgbe_rxtx.h a bit.
> > >>
> > >> New in v2:
> > >> - Fixed a compilation failure.
> > >>
> > >>
> > >> Vlad Zolotarov (3):
> > >>ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
> > >>  reading/setting HW ring descriptor fields
> > >>ixgbe: Bug fix: Properly configure Rx CRC stripping for x540
devices
> > >>ixgbe: Unify the rx_pkt_bulk callback initialization
> > >>
> > >>   lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   2 +
> > >>   lib/librte_pmd_ixgbe/ixgbe_ethdev.c |  13 +-
> > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216
+---
> > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.h   |  28 -
> > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |   2 +-
> > >>   5 files changed, 183 insertions(+), 78 deletions(-)
> > >>
> > > Acked-by: Konstantin Ananyev 
> > >
> > > Just one nit:
> > >
> > > +int __attribute__((weak)) ixgbe_rxq_vec_setup(
> > > +   struct ixgbe_rx_queue __rte_unused *rxq)
> > > +{
> > >
> > > Please use notation:
> > > int __attribute__((weak))
> > > ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
> > >
> > > To keep up with the rest of the code, plus makes much easier to read.
> >
> > I took an example from kni/ethtool/igb/kcompat.h for a template but no
> > problem.
> > Do u want me to respin or it's ok? I will use this format for the
> > follow-up LRO patch anyway...
>
> Doing that in LRO patch set is ok.
> No need for respin that one, I think.

Great! Thanks a lot for reviewing this.

Thomas, it seems like ixgbe maintainer gives this series a green light!..
;)

> Konstantin
>
> >
> > >
> > >> --
> > >> 2.1.0
>


[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-16 Thread Vlad Zolotarov


On 03/13/15 15:03, Vladislav Zolotarov wrote:
>
>
> On Mar 13, 2015 2:51 PM, "Ananyev, Konstantin" 
> mailto:konstantin.ananyev at intel.com>> 
> wrote:
> >
> > Hi Vlad,
> >
> > > -Original Message-
> > > From: Vlad Zolotarov [mailto:vladz at cloudius-systems.com 
> <mailto:vladz at cloudius-systems.com>]
> > > Sent: Friday, March 13, 2015 11:52 AM
> > > To: Ananyev, Konstantin; dev at dpdk.org <mailto:dev at dpdk.org>
> > > Subject: Re: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF 
> PMD Rx flow
> > >
> > >
> > >
> > > On 03/13/15 13:07, Ananyev, Konstantin wrote:
> > > >
> > > >> -Original Message-
> > > >> From: dev [mailto:dev-bounces at dpdk.org 
> <mailto:dev-bounces at dpdk.org>] On Behalf Of Vlad Zolotarov
> > > >> Sent: Thursday, March 12, 2015 9:17 PM
> > > >> To: dev at dpdk.org <mailto:dev at dpdk.org>
> > > >> Subject: [dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF 
> PMD Rx flow
> > > >>
> > > >> This series contains some bug fixes that were found during my 
> work on the ixgbe LRO
> > > >> patches. Sending this series separately on Thomas request so 
> that it may be integrated
> > > >> into the 2.0 release.
> > > >>
> > > >> New in v3:
> > > >> - Adjusted to the new structs naming in the master.
> > > >> - Fixed rx_bulk_alloc_allowed and rx_vec_allowed 
> initialization:
> > > >>- Don't set them to FALSE in rte_eth_dev_stop() flow - 
> the following
> > > >>  rte_eth_dev_start() will need them.
> > > >>- Reset them to TRUE in rte_eth_dev_configure() and not 
> in a probe() flow.
> > > >>  This will ensure the proper behaviour if port is 
> re-configured.
> > > >> - Rename:
> > > >>- ixgbe_rx_vec_condition_check() -> 
> ixgbe_rx_vec_dev_conf_condition_check()
> > > >>- set_rx_function() -> ixgbe_set_rx_function()
> > > >> - Clean up the logic in ixgbe_set_rx_function().
> > > >> - Define stubs with __attribute__((weak)) instead of using 
> #ifdef's.
> > > >> - Styling: beautify ixgbe_rxtx.h a bit.
> > > >>
> > > >> New in v2:
> > > >> - Fixed a compilation failure.
> > > >>
> > > >>
> > > >> Vlad Zolotarov (3):
> > > >>ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
> > > >>  reading/setting HW ring descriptor fields
> > > >>ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 
> devices
> > > >>ixgbe: Unify the rx_pkt_bulk callback initialization
> > > >>
> > > >>   lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |  2 +
> > > >>   lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 13 +-
> > > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 216 
> +---
> > > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx.h   | 28 -
> > > >>   lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c   |  2 +-
> > > >>   5 files changed, 183 insertions(+), 78 deletions(-)
> > > >>
> > > > Acked-by: Konstantin Ananyev  <mailto:konstantin.ananyev at intel.com>>
> > > >
> > > > Just one nit:
> > > >
> > > > +int __attribute__((weak)) ixgbe_rxq_vec_setup(
> > > > +   struct ixgbe_rx_queue __rte_unused *rxq)
> > > > +{
> > > >
> > > > Please use notation:
> > > > int __attribute__((weak))
> > > > ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
> > > >
> > > > To keep up with the rest of the code, plus makes much easier to 
> read.
> > >
> > > I took an example from kni/ethtool/igb/kcompat.h for a template but no
> > > problem.
> > > Do u want me to respin or it's ok? I will use this format for the
> > > follow-up LRO patch anyway...
> >
> > Doing that in LRO patch set is ok.
> > No need for respin that one, I think.
>
> Great! Thanks a lot for reviewing this.
>
> Thomas, it seems like ixgbe maintainer gives this series a green 
> light!.. ;)
>

Ping.
Thomas, could u, pls., consider  applying this series to at least the 
upstream master?

thanks in advance,
vlad

> > Konstantin
> >
> > >
> > > >
> > > >> --
> > > >> 2.1.0
> >
>



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-16 Thread Thomas Monjalon
Hi Vlad,

2015-03-16 09:52, Vlad Zolotarov:
> On 03/13/15 15:03, Vladislav Zolotarov wrote:
> > Thomas, it seems like ixgbe maintainer gives this series a green 
> > light!.. ;)
> 
> Ping.
> Thomas, could u, pls., consider  applying this series to at least the 
> upstream master?

Yes, of course.
Just a note: I didn't merge it during my week-end and I think it is not
needed to ping only one day after.
Traffic on the list is becoming high; let's focus on important messages.



[dpdk-dev] [PATCH v3 0/3]: bug fixes in the ixgbe PF PMD Rx flow

2015-03-17 Thread Thomas Monjalon
2015-03-13 11:07, Ananyev, Konstantin:
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
> > This series contains some bug fixes that were found during my work on the 
> > ixgbe LRO
> > patches. Sending this series separately on Thomas request so that it may be 
> > integrated
> > into the 2.0 release.
> > 
> > New in v3:
> >- Adjusted to the new structs naming in the master.
> >- Fixed rx_bulk_alloc_allowed and rx_vec_allowed initialization:
> >   - Don't set them to FALSE in rte_eth_dev_stop() flow - the following
> > rte_eth_dev_start() will need them.
> >   - Reset them to TRUE in rte_eth_dev_configure() and not in a probe() 
> > flow.
> > This will ensure the proper behaviour if port is re-configured.
> >- Rename:
> >   - ixgbe_rx_vec_condition_check() -> 
> > ixgbe_rx_vec_dev_conf_condition_check()
> >   - set_rx_function() -> ixgbe_set_rx_function()
> >- Clean up the logic in ixgbe_set_rx_function().
> >- Define stubs with __attribute__((weak)) instead of using #ifdef's.
> >- Styling: beautify ixgbe_rxtx.h a bit.
> > 
> > New in v2:
> >- Fixed a compilation failure.
> > 
> > 
> > Vlad Zolotarov (3):
> >   ixgbe: Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when
> > reading/setting HW ring descriptor fields
> >   ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
> >   ixgbe: Unify the rx_pkt_bulk callback initialization
> 
> Acked-by: Konstantin Ananyev 

Applied, thanks