Thread (13 messages) 13 messages, 4 authors, 2020-05-26

Re: devlink interface for asynchronous event/messages from firmware?

From: Jakub Kicinski <kuba@kernel.org>
Date: 2020-05-22 17:46:37

On Fri, 22 May 2020 13:00:28 +0200 Jiri Pirko wrote:
Thu, May 21, 2020 at 11:51:13PM CEST, kuba@kernel.org wrote:
quoted
On Thu, 21 May 2020 13:59:32 -0700 Jacob Keller wrote:  
quoted
quoted
quoted
So the ice firmware can optionally send diagnostic debug messages via
its control queue. The current solutions we've used internally
essentially hex-dump the binary contents to the kernel log, and then
these get scraped and converted into a useful format for human consumption.

I'm not 100% of the format, but I know it's based on a decoding file
that is specific to a given firmware image, and thus attempting to tie
this into the driver is problematic.    
You explained how it works, but not why it's needed :)    
Well, the reason we want it is to be able to read the debug/diagnostics
data in order to debug issues that might be related to firmware or
software mis-use of firmware interfaces.

By having it be a separate interface rather than trying to scrape from
the kernel message buffer, it becomes something we can have as a
possibility for debugging in the field.  
For pure debug/tracing perhaps trace_devlink_hwerr() is the right fit?  
Well, trace_devlink_hwerr() is for simple errors that are mapped 1:1
with some string.
Ah, damn, I missed it takes char :/
From what I got, Jacob needs to pass some data structures to the
user. Something more similar to health reporter dumps and their fmsg.
For health reporters AFAIU right now every health reporter event
indicates something bad has happened, so it should be logged and
potentially reported to the vendor.

My understanding is that Jake needs more of a tracing infra, for
debug messages. Is that true? Do you need an on/off switch for 
those as well?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help