summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/trace-s390.h
diff options
context:
space:
mode:
authorYi Min Zhao <zyimin@linux.vnet.ibm.com>2017-02-20 10:15:01 +0800
committerChristian Borntraeger <borntraeger@de.ibm.com>2017-04-06 13:15:37 +0200
commita8920950131b1394f9e99ff57a5cf5ceeb0cc25c (patch)
tree1aa07375bfc5eaa1726c0c78f87858a9c75452b6 /arch/s390/kvm/trace-s390.h
parent519783935451764b397f2a712de5ea778ff77fdf (diff)
downloadtalos-op-linux-a8920950131b1394f9e99ff57a5cf5ceeb0cc25c.tar.gz
talos-op-linux-a8920950131b1394f9e99ff57a5cf5ceeb0cc25c.zip
KVM: s390: introduce adapter interrupt inject function
Inject adapter interrupts on a specified adapter which allows to retrieve the adapter flags, e.g. if the adapter is subject to AIS facility or not. And add documentation for this interface. For adapters subject to AIS, handle the airq injection suppression for a given ISC according to the interruption mode: - before injection, if NO-Interruptions Mode, just return 0 and suppress, otherwise, allow the injection. - after injection, if SINGLE-Interruption Mode, change it to NO-Interruptions Mode to suppress the following interrupts. Besides, add tracepoint for suppressed airq and AIS mode transitions. Signed-off-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com> Signed-off-by: Fei Li <sherrylf@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/trace-s390.h')
-rw-r--r--arch/s390/kvm/trace-s390.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/s390/kvm/trace-s390.h b/arch/s390/kvm/trace-s390.h
index b32994d1546a..78b7e847984a 100644
--- a/arch/s390/kvm/trace-s390.h
+++ b/arch/s390/kvm/trace-s390.h
@@ -311,6 +311,27 @@ TRACE_EVENT(kvm_s390_modify_ais_mode,
"Single-Interruption Mode" : "No-Interruptions Mode")
);
+/*
+ * Trace point for suppressed adapter I/O interrupt.
+ */
+TRACE_EVENT(kvm_s390_airq_suppressed,
+ TP_PROTO(__u32 id, __u8 isc),
+ TP_ARGS(id, isc),
+
+ TP_STRUCT__entry(
+ __field(__u32, id)
+ __field(__u8, isc)
+ ),
+
+ TP_fast_assign(
+ __entry->id = id;
+ __entry->isc = isc;
+ ),
+
+ TP_printk("adapter I/O interrupt suppressed (id:%x isc:%x)",
+ __entry->id, __entry->isc)
+ );
+
#endif /* _TRACE_KVMS390_H */
OpenPOWER on IntegriCloud