summaryrefslogtreecommitdiffstats
path: root/arch/s390/oprofile
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2011-06-22 16:24:08 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-06-22 16:24:20 +0200
commitb530ce7a1af5a9355be518557d86b33c6d2cf088 (patch)
tree6c648c5f2085976be8d53afbad60696288296bec /arch/s390/oprofile
parent[S390] kvm-s390: fix kconfig dependencies (diff)
downloadlinux-b530ce7a1af5a9355be518557d86b33c6d2cf088.tar.xz
linux-b530ce7a1af5a9355be518557d86b33c6d2cf088.zip
[S390] s390: enforce HW limits for the initial sampling rate
On specific configurations with hwsampler opcontrol --start returns an error on "echo 1 >/dev/oprofile/enable". Turns out that the hw sampling interval is not checked against the hardware limits. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/oprofile')
-rw-r--r--arch/s390/oprofile/init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/s390/oprofile/init.c b/arch/s390/oprofile/init.c
index 5995e9bc72d9..5e2ab03eaffd 100644
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@ -151,6 +151,12 @@ static int oprofile_hwsampler_init(struct oprofile_operations *ops)
if (oprofile_max_interval == 0)
return -ENODEV;
+ /* The initial value should be sane */
+ if (oprofile_hw_interval < oprofile_min_interval)
+ oprofile_hw_interval = oprofile_min_interval;
+ if (oprofile_hw_interval > oprofile_max_interval)
+ oprofile_hw_interval = oprofile_max_interval;
+
if (oprofile_timer_init(ops))
return -ENODEV;