[S390] s390: enforce HW limits for the initial sampling rate
authorChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 22 Jun 2011 14:24:08 +0000 (16:24 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 22 Jun 2011 14:24:20 +0000 (16:24 +0200)
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>
arch/s390/oprofile/init.c

index 5995e9bc72d9c291d57df38ab66c0a1929f43dd6..5e2ab03eaffde929fc1dc8256d2b2515332e902c 100644 (file)
@@ -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;