Peter Oberparleiter 70aa5d3982 s390/sclp: add tracing of SCLP interactions
Add tracing of interactions between the SCLP base driver, firmware and
other drivers to support problem determination in case of SCLP-related
issues.

For that purpose this patch introduces two new s390dbf debug areas:

  - sclp: An abbreviated log of all common interactions
  - sclp_err: A full log of failed or abnormal interactions

Tracing of full SCCB contents can be enabled for the sclp area by
setting its debug level to maximum (6).

Overview of added trace events:

  * Firmware interaction:
    - SRV1: Service call about to be issued
    - SRV2: Service call was issued
    - INT:  Interrupt received

  * Driver interaction:
    - RQAD: Request was added
    - RQOK: Request success
    - RQAB: Request aborted
    - RQTM: Request timed out
    - REG:  Event listener registered
    - UREG: Event listener unregistered
    - EVNT: Event callback
    - STCG: State-change callback

  * Abnormal events:
    - TMO:  A timeout occurred
    - UNEX: Unexpected SCCB completion

  * Other (not traced at default level):
    - SYN1: Synchronous wait start
    - SYN2: Synchronous wait end

Since the SCLP interface is used by console drivers this patch also
moves s390dbf printks outside the critical section protected by debug
area locks to prevent a potential deadlock that would otherwise be
introduced between console_owner --> sclp_lock --> sclp_debug.lock.

Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2021-08-25 11:03:35 +02:00
..
2021-07-30 17:09:23 +02:00
2021-07-30 17:09:23 +02:00
2021-08-05 14:10:53 +02:00
2021-07-27 09:39:19 +02:00
2021-01-19 12:29:26 +01:00
2021-08-03 14:31:40 +02:00
2021-08-03 14:31:40 +02:00
2021-08-05 14:10:53 +02:00
2021-07-05 12:44:23 +02:00
2020-06-29 16:31:46 +02:00
2021-08-05 14:10:53 +02:00
2021-08-03 14:31:40 +02:00
2021-08-05 14:10:53 +02:00
2021-08-05 14:10:53 +02:00
2021-07-08 15:37:28 +02:00
2021-08-25 11:03:34 +02:00