[v1,0/9] mlx5: Handle data-path completions with error
mbox series

Message ID 1559211639-17442-1-git-send-email-matan@mellanox.com
Headers show
Series
  • mlx5: Handle data-path completions with error
Related show

Message

Matan Azrad May 30, 2019, 10:20 a.m. UTC
Add support for data-path Rx and Tx completions with error handling:

1. Detect the error.
2. Do not crash.
3. Report it in statistics counters.
4. Dump debug information to system log file.
5. Recover the error under the hood.
6. Add support for secondary process recovery.

No performance impact was shown. 

Matan Azrad (9):
  net/mlx5: remove Rx queues indexes correlation
  net/mlx5: add log file procedure for debug data
  net/mlx5: fix device arguments error detection
  net/mlx5: mitigate Rx doorbell memory barrier
  net/mlx5: separate Rx queue initialization
  net/mlx5: extend Rx completion with error handling
  net/mlx5: handle Tx completion with error
  net/mlx5: recover secondary process Rx errors
  net/mlx5: recover secondary process Tx errors

 doc/guides/nics/mlx5.rst              |   7 +
 drivers/net/mlx5/mlx5.c               |  14 +-
 drivers/net/mlx5/mlx5.h               |  12 +
 drivers/net/mlx5/mlx5_mp.c            |  46 +++
 drivers/net/mlx5/mlx5_prm.h           |  11 +
 drivers/net/mlx5/mlx5_rxq.c           |  42 +--
 drivers/net/mlx5/mlx5_rxtx.c          | 673 ++++++++++++++++++++++++++++------
 drivers/net/mlx5/mlx5_rxtx.h          | 193 +++++-----
 drivers/net/mlx5/mlx5_rxtx_vec.c      |   5 +-
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h |  36 +-
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h  |  36 +-
 drivers/net/mlx5/mlx5_trigger.c       |   1 +
 drivers/net/mlx5/mlx5_txq.c           |   4 +-
 13 files changed, 792 insertions(+), 288 deletions(-)

Comments

Kevin Traynor Sept. 12, 2019, 12:14 p.m. UTC | #1
On 30/05/2019 11:20, Matan Azrad wrote:
> Add support for data-path Rx and Tx completions with error handling:
> 
> 1. Detect the error.
> 2. Do not crash.
> 3. Report it in statistics counters.
> 4. Dump debug information to system log file.
> 5. Recover the error under the hood.
> 6. Add support for secondary process recovery.
> 
> No performance impact was shown. 
> 
> Matan Azrad (9):
>   net/mlx5: remove Rx queues indexes correlation
>   net/mlx5: add log file procedure for debug data
>   net/mlx5: fix device arguments error detection
>   net/mlx5: mitigate Rx doorbell memory barrier
>   net/mlx5: separate Rx queue initialization
>   net/mlx5: extend Rx completion with error handling
>   net/mlx5: handle Tx completion with error
>   net/mlx5: recover secondary process Rx errors
>   net/mlx5: recover secondary process Tx errors
> 
>  doc/guides/nics/mlx5.rst              |   7 +
>  drivers/net/mlx5/mlx5.c               |  14 +-
>  drivers/net/mlx5/mlx5.h               |  12 +
>  drivers/net/mlx5/mlx5_mp.c            |  46 +++
>  drivers/net/mlx5/mlx5_prm.h           |  11 +
>  drivers/net/mlx5/mlx5_rxq.c           |  42 +--
>  drivers/net/mlx5/mlx5_rxtx.c          | 673 ++++++++++++++++++++++++++++------
>  drivers/net/mlx5/mlx5_rxtx.h          | 193 +++++-----
>  drivers/net/mlx5/mlx5_rxtx_vec.c      |   5 +-
>  drivers/net/mlx5/mlx5_rxtx_vec_neon.h |  36 +-
>  drivers/net/mlx5/mlx5_rxtx_vec_sse.h  |  36 +-
>  drivers/net/mlx5/mlx5_trigger.c       |   1 +
>  drivers/net/mlx5/mlx5_txq.c           |   4 +-
>  13 files changed, 792 insertions(+), 288 deletions(-)
> 


Hi - these changes are very invasive ^^^. I'm not really comfortable to
take this for 18.11.3. See
http://doc.dpdk.org/guides/contributing/stable.html#what-changes-should-be-backported

I will take patch 3/9 as it is a fix with Fixes: tag.

thanks,
Kevin.
Matan Azrad Sept. 22, 2019, 7:03 a.m. UTC | #2
From: Kevin Traynor
> On 30/05/2019 11:20, Matan Azrad wrote:
> > Add support for data-path Rx and Tx completions with error handling:
> >
> > 1. Detect the error.
> > 2. Do not crash.
> > 3. Report it in statistics counters.
> > 4. Dump debug information to system log file.
> > 5. Recover the error under the hood.
> > 6. Add support for secondary process recovery.
> >
> > No performance impact was shown.
> >
> > Matan Azrad (9):
> >   net/mlx5: remove Rx queues indexes correlation
> >   net/mlx5: add log file procedure for debug data
> >   net/mlx5: fix device arguments error detection
> >   net/mlx5: mitigate Rx doorbell memory barrier
> >   net/mlx5: separate Rx queue initialization
> >   net/mlx5: extend Rx completion with error handling
> >   net/mlx5: handle Tx completion with error
> >   net/mlx5: recover secondary process Rx errors
> >   net/mlx5: recover secondary process Tx errors
> >
> >  doc/guides/nics/mlx5.rst              |   7 +
> >  drivers/net/mlx5/mlx5.c               |  14 +-
> >  drivers/net/mlx5/mlx5.h               |  12 +
> >  drivers/net/mlx5/mlx5_mp.c            |  46 +++
> >  drivers/net/mlx5/mlx5_prm.h           |  11 +
> >  drivers/net/mlx5/mlx5_rxq.c           |  42 +--
> >  drivers/net/mlx5/mlx5_rxtx.c          | 673
> ++++++++++++++++++++++++++++------
> >  drivers/net/mlx5/mlx5_rxtx.h          | 193 +++++-----
> >  drivers/net/mlx5/mlx5_rxtx_vec.c      |   5 +-
> >  drivers/net/mlx5/mlx5_rxtx_vec_neon.h |  36 +-
> > drivers/net/mlx5/mlx5_rxtx_vec_sse.h  |  36 +-
> >  drivers/net/mlx5/mlx5_trigger.c       |   1 +
> >  drivers/net/mlx5/mlx5_txq.c           |   4 +-
> >  13 files changed, 792 insertions(+), 288 deletions(-)
> >
> 
> 
> Hi - these changes are very invasive ^^^. I'm not really comfortable to take
> this for 18.11.3. See
> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc.d
> pdk.org%2Fguides%2Fcontributing%2Fstable.html%23what-changes-should-
> be-
> backported&data=02%7C01%7Cmatan%40mellanox.com%7Cf8c9305dc6
> 7b4e7b128008d7377ad4f9%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C
> 0%7C637038873031127944&sdata=HAm39aLCoHz59wauVmglWrq5fwnM
> 3ZtLV0%2FebrZHiLY%3D&reserved=0
> 
> I will take patch 3/9 as it is a fix with Fixes: tag.

It's ok, the others are not must in this version.

> 
> thanks,
> Kevin.