aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/hypfs/hypfs_sprp.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2015-08-20 17:28:44 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-10-14 14:32:06 +0200
commit1ec2772e0c3ca3159035c03165355e355efc326b (patch)
tree469be3ba9032d367e4a796d6a31b25ccaab0d06a /arch/s390/hypfs/hypfs_sprp.c
parents390/bitops: implement cache friendly test_and_set_bit_lock (diff)
downloadlinux-dev-1ec2772e0c3ca3159035c03165355e355efc326b.tar.xz
linux-dev-1ec2772e0c3ca3159035c03165355e355efc326b.zip
s390/diag: add a statistic for diagnose calls
Introduce /sys/debug/kernel/diag_stat with a statistic how many diagnose calls have been done by each CPU in the system. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/hypfs/hypfs_sprp.c')
-rw-r--r--arch/s390/hypfs/hypfs_sprp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/s390/hypfs/hypfs_sprp.c b/arch/s390/hypfs/hypfs_sprp.c
index dd42a26d049d..c9e5c72f78bd 100644
--- a/arch/s390/hypfs/hypfs_sprp.c
+++ b/arch/s390/hypfs/hypfs_sprp.c
@@ -13,6 +13,7 @@
#include <linux/types.h>
#include <linux/uaccess.h>
#include <asm/compat.h>
+#include <asm/diag.h>
#include <asm/sclp.h>
#include "hypfs.h"
@@ -22,7 +23,7 @@
#define DIAG304_CMD_MAX 2
-static unsigned long hypfs_sprp_diag304(void *data, unsigned long cmd)
+static inline unsigned long __hypfs_sprp_diag304(void *data, unsigned long cmd)
{
register unsigned long _data asm("2") = (unsigned long) data;
register unsigned long _rc asm("3");
@@ -34,6 +35,12 @@ static unsigned long hypfs_sprp_diag304(void *data, unsigned long cmd)
return _rc;
}
+static unsigned long hypfs_sprp_diag304(void *data, unsigned long cmd)
+{
+ diag_stat_inc(DIAG_STAT_X304);
+ return __hypfs_sprp_diag304(data, cmd);
+}
+
static void hypfs_sprp_free(const void *data)
{
free_page((unsigned long) data);