linux/drivers/s390/char
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
..
con3215.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
con3270.c kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
ctrlchar.c
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c
diag_ftp.h
fs3270.c
hmcdrv_cache.c
hmcdrv_cache.h
hmcdrv_dev.c
hmcdrv_dev.h
hmcdrv_ftp.c s390: use fallthrough; 2020-03-25 12:39:37 +01:00
hmcdrv_ftp.h
hmcdrv_mod.c
Kconfig
keyboard.c
keyboard.h
Makefile s390/sclp: Add support for SCLP AP adapter config/deconfig 2020-10-07 21:50:00 +02:00
monreader.c s390/monreader: Remove power management support 2021-06-18 16:41:20 +02:00
monwriter.c s390/monwriter: Remove power management support 2021-06-18 16:41:20 +02:00
raw3270.c s390: remove pm support from console drivers 2020-12-02 18:19:24 +01:00
raw3270.h s390: remove pm support from console drivers 2020-12-02 18:19:24 +01:00
sclp_ap.c s390/sclp: Add support for SCLP AP adapter config/deconfig 2020-10-07 21:50:00 +02:00
sclp_cmd.c s390/dump: introduce boot data 'oldmem_data' 2021-07-27 09:39:16 +02:00
sclp_con.c s390 updates for the 5.14 merge window 2021-07-04 12:17:38 -07:00
sclp_config.c s390/sclp: replace deprecated CPU-hotplug functions 2021-08-05 14:10:53 +02:00
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h
sclp_early_core.c s390/boot: move sclp early buffer from fixed address in asm to C 2021-07-27 09:39:15 +02:00
sclp_early.c s390/sclp: provide extended sccb support 2020-11-18 12:16:02 +01:00
sclp_ftp.c s390/sclp: Remove sclp base power management support 2021-06-18 16:41:21 +02:00
sclp_ftp.h
sclp_ocf.c
sclp_pci.c
sclp_quiesce.c s390/sclp: Remove quiesce power management support 2021-06-18 16:41:20 +02:00
sclp_rw.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_rw.h TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_sd.c
sclp_sdias.c s390/nvme: support firmware-assisted dump to NVMe disks 2020-10-02 14:40:48 +02:00
sclp_sdias.h
sclp_tty.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_tty.h
sclp_vt220.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp.c s390/sclp: add tracing of SCLP interactions 2021-08-25 11:03:35 +02:00
sclp.h s390/sclp: reserve memory occupied by sclp early buffer 2021-08-18 10:01:29 +02:00
tape_34xx.c s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
tape_3590.c s390/tape: Fix spelling mistake in function name tape_3590_erp_succeded 2021-01-27 13:00:47 +01:00
tape_3590.h
tape_char.c s390: Fix fall-through warnings for Clang 2021-07-13 14:43:09 -05:00
tape_class.c
tape_class.h
tape_core.c s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
tape_proc.c
tape_std.c
tape_std.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
tape.h s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
tty3270.c tty: remove empty tty_operations::flush_buffer 2021-05-13 18:29:11 +02:00
tty3270.h
vmcp.c
vmlogrdr.c s390/vmlogrdr: Remove power management support 2021-06-18 16:41:21 +02:00
vmur.c whack-a-mole: don't open-code iminor/imajor 2021-02-23 10:25:29 -05:00
vmur.h
zcore.c s390/dump: introduce boot data 'oldmem_data' 2021-07-27 09:39:16 +02:00