mbox series

[net-next,00/11] qed: introduce devlink health support

Message ID 20200727184310.462-1-irusskikh@marvell.com
Headers show
Series qed: introduce devlink health support | expand

Message

Igor Russkikh July 27, 2020, 6:42 p.m. UTC
This is a followup implementation after series

https://patchwork.ozlabs.org/project/netdev/cover/20200514095727.1361-1-irusskikh@marvell.com/

This is an implementation of devlink health infrastructure.

With this we are now able to report HW errors to devlink, and it'll take
its own actions depending on user configuration to capture and store the dump
at the bad moment, and to request the driver to recover the device.

So far we do not differentiate global device failures or specific PCI function
failures. This means that some errors specific to one physical function will
affect an entire device. This is not yet fully designed and verified, will
followup in future.

Solution was verified with artificial HW errors generated, existing tools
for dump analysis could be used.

Igor Russkikh (11):
  qed: move out devlink logic into a new file
  qed/qede: make devlink survive recovery
  qed: swap param init and publish
  qed: fix kconfig help entries
  qed: implement devlink info request
  qed: health reporter init deinit seq
  qed: use devlink logic to report errors
  qed*: make use of devlink recovery infrastructure
  qed: implement devlink dump
  qed: align adjacent indent
  qede: make driver reliable on unload after failures

 drivers/net/ethernet/qlogic/Kconfig           |   5 +-
 drivers/net/ethernet/qlogic/qed/Makefile      |   1 +
 drivers/net/ethernet/qlogic/qed/qed.h         |   3 +-
 drivers/net/ethernet/qlogic/qed/qed_dev.c     |  10 +
 drivers/net/ethernet/qlogic/qed/qed_devlink.c | 255 ++++++++++++++++++
 drivers/net/ethernet/qlogic/qed/qed_devlink.h |  20 ++
 drivers/net/ethernet/qlogic/qed/qed_main.c    | 116 +-------
 drivers/net/ethernet/qlogic/qede/qede.h       |   2 +
 drivers/net/ethernet/qlogic/qede/qede_main.c  |  35 ++-
 include/linux/qed/qed_if.h                    |  23 +-
 10 files changed, 341 insertions(+), 129 deletions(-)
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_devlink.c
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_devlink.h

Comments

Jesse Brandeburg Aug. 21, 2020, 5:54 p.m. UTC | #1
Igor Russkikh wrote:

> This is a followup implementation after series
> 
> https://patchwork.ozlabs.org/project/netdev/cover/20200514095727.1361-1-irusskikh@marvell.com/
> 
> This is an implementation of devlink health infrastructure.
> 
> With this we are now able to report HW errors to devlink, and it'll take
> its own actions depending on user configuration to capture and store the dump
> at the bad moment, and to request the driver to recover the device.
> 
> So far we do not differentiate global device failures or specific PCI function
> failures. This means that some errors specific to one physical function will
> affect an entire device. This is not yet fully designed and verified, will
> followup in future.
> 
> Solution was verified with artificial HW errors generated, existing tools
> for dump analysis could be used.
> 
> Igor Russkikh (11):
>   qed: move out devlink logic into a new file
>   qed/qede: make devlink survive recovery
>   qed: swap param init and publish
>   qed: fix kconfig help entries
>   qed: implement devlink info request
>   qed: health reporter init deinit seq
>   qed: use devlink logic to report errors
>   qed*: make use of devlink recovery infrastructure
>   qed: implement devlink dump
>   qed: align adjacent indent
>   qede: make driver reliable on unload after failures
> 
>  drivers/net/ethernet/qlogic/Kconfig           |   5 +-
>  drivers/net/ethernet/qlogic/qed/Makefile      |   1 +
>  drivers/net/ethernet/qlogic/qed/qed.h         |   3 +-
>  drivers/net/ethernet/qlogic/qed/qed_dev.c     |  10 +
>  drivers/net/ethernet/qlogic/qed/qed_devlink.c | 255 ++++++++++++++++++
>  drivers/net/ethernet/qlogic/qed/qed_devlink.h |  20 ++
>  drivers/net/ethernet/qlogic/qed/qed_main.c    | 116 +-------
>  drivers/net/ethernet/qlogic/qede/qede.h       |   2 +
>  drivers/net/ethernet/qlogic/qede/qede_main.c  |  35 ++-
>  include/linux/qed/qed_if.h                    |  23 +-
>  10 files changed, 341 insertions(+), 129 deletions(-)
>  create mode 100644 drivers/net/ethernet/qlogic/qed/qed_devlink.c
>  create mode 100644 drivers/net/ethernet/qlogic/qed/qed_devlink.h

I just realized I was reviewing this old set (somehow my mailer put this
one after the v6 in the message order) #reviewfail

I'll move over to v6 now, sorry for the thrash.