RE: [PATCH V2 1/4] scsi: ufs: Add exception event tracepoint

Avri Altman
2021-02-10T18:24:35Z

>
> Currently, exception event status can be read from wExceptionEventStatus
> attribute (sysfs file attributes/exception_event_status under the UFS host
> controller device directory). Polling that attribute to track UFS exception
> events is impractical, so add a tracepoint to track exception events for
> testing and debugging purposes.
>
> Note, by the time the exception event status is read, the exception event
> may have cleared, so the value can be zero - see example below.
>
> Note also, only enabled exception events can be reported. A subsequent
> patch adds the ability for users to enable selected exception events via
> debugfs.
>
> Example with driver instrumented to enable all exception events:
>
> # echo 1 >
> /sys/kernel/debug/tracing/events/ufs/ufshcd_exception_event/enable
>
> ... do some I/O ...
>
> # cat /sys/kernel/debug/tracing/trace
> # tracer: nop
> #
> # entries-in-buffer/entries-written: 3/3 #P:5
> #
> # _-----=> irqs-off
> # / _----=> need-resched
> # | / _---=> hardirq/softirq
> # || / _--=> preempt-depth
> # ||| / delay
> # TASK-PID CPU# |||| TIMESTAMP FUNCTION
> # | | | |||| | |
> kworker/2:2-173 [002] .... 731.486419: ufshcd_exception_event:
> 0000:00:12.5: status 0x0
> kworker/2:2-173 [002] .... 732.608918: ufshcd_exception_event:
> 0000:00:12.5: status 0x4
> kworker/2:2-173 [002] .... 732.609312: ufshcd_exception_event:
> 0000:00:12.5: status 0x4
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Avri Altman <avri.altman@wdc.com>