Re: [PATCH v2 net-next 3/3] octeontx2-af: Add devlink health reporters for NIX

From: Sunil Kovvuri
Date: Thu Nov 05 2020 - 14:29:51 EST


> > > > Output:
> > > > # ./devlink health
> > > > pci/0002:01:00.0:
> > > > reporter npa
> > > > state healthy error 0 recover 0
> > > > reporter nix
> > > > state healthy error 0 recover 0
> > > > # ./devlink health dump show pci/0002:01:00.0 reporter nix
> > > > NIX_AF_GENERAL:
> > > > Memory Fault on NIX_AQ_INST_S read: 0
> > > > Memory Fault on NIX_AQ_RES_S write: 0
> > > > AQ Doorbell error: 0
> > > > Rx on unmapped PF_FUNC: 0
> > > > Rx multicast replication error: 0
> > > > Memory fault on NIX_RX_MCE_S read: 0
> > > > Memory fault on multicast WQE read: 0
> > > > Memory fault on mirror WQE read: 0
> > > > Memory fault on mirror pkt write: 0
> > > > Memory fault on multicast pkt write: 0
> > > > NIX_AF_RAS:
> > > > Poisoned data on NIX_AQ_INST_S read: 0
> > > > Poisoned data on NIX_AQ_RES_S write: 0
> > > > Poisoned data on HW context read: 0
> > > > Poisoned data on packet read from mirror buffer: 0
> > > > Poisoned data on packet read from mcast buffer: 0
> > > > Poisoned data on WQE read from mirror buffer: 0
> > > > Poisoned data on WQE read from multicast buffer: 0
> > > > Poisoned data on NIX_RX_MCE_S read: 0
> > > > NIX_AF_RVU:
> > > > Unmap Slot Error: 0
> > > >
> > >
> > > Now i am a little bit skeptic here, devlink health reporter
> > > infrastructure was
> > > never meant to deal with dump op only, the main purpose is to
> > > diagnose/dump and recover.
> > >
> > > especially in your use case where you only report counters, i don't
> > > believe
> > > devlink health dump is a proper interface for this.
> > These are not counters. These are error interrupts raised by HW
> > blocks.
> > The count is provided to understand on how frequently the errors are
> > seen.
> > Error recovery for some of the blocks happen internally. That is the
> > reason,
> > Currently only dump op is added.
>
> So you are counting these events in driver, sounds like a counter to
> me, i really think this shouldn't belong to devlink, unless you really
> utilize devlink health ops for actual reporting and recovery.
>
> what's wrong with just dumping these counters to ethtool ?

This driver is a administrative driver which handles all the resources
in the system and doesn't do any IO.
NIX and NPA are key co-processor blocks which this driver handles.
With NIX and NPA, there are pieces
which gets attached to a PCI device to make it a networking device. We
have netdev drivers registered to this
networking device. Some more information about the drivers is available at
https://www.kernel.org/doc/html/latest/networking/device_drivers/ethernet/marvell/octeontx2.html

So we don't have a netdev here to report these co-processor block
level errors over ethtool.

Thanks,
Sunil.