* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] allow setting of upper 32 bit in smp_ctl_set_bit [S390] hwsampler: Set a sane default sampling rate [S390] s390: enforce HW limits for the initial sampling rate [S390] kvm-s390: fix kconfig dependencies
Unified · Split
| @@ -579,6 +579,7 @@ config S390_GUEST · 578 unmodified lines | |||
| 579 | def_bool y | 579 | def_bool y |
| 580 | prompt "s390 guest support for KVM (EXPERIMENTAL)" | 580 | prompt "s390 guest support for KVM (EXPERIMENTAL)" |
| 581 | depends on 64BIT && EXPERIMENTAL | 581 | depends on 64BIT && EXPERIMENTAL |
| 582 | select VIRTUALIZATION | ||
| 582 | select VIRTIO | 583 | select VIRTIO |
| 583 | select VIRTIO_RING | 584 | select VIRTIO_RING |
| 584 | select VIRTIO_CONSOLE | 585 | select VIRTIO_CONSOLE |
| @@ -262,7 +262,7 @@ void smp_ctl_set_bit(int cr, int bit) · 261 unmodified lines | |||
| 262 | 262 | ||
| 263 | memset(&parms.orvals, 0, sizeof(parms.orvals)); | 263 | memset(&parms.orvals, 0, sizeof(parms.orvals)); |
| 264 | memset(&parms.andvals, 0xff, sizeof(parms.andvals)); | 264 | memset(&parms.andvals, 0xff, sizeof(parms.andvals)); |
| 265 | parms.orvals[cr] = 1 << bit; | 265 | parms.orvals[cr] = 1UL << bit; |
| 266 | on_each_cpu(smp_ctl_bit_callback, &parms, 1); | 266 | on_each_cpu(smp_ctl_bit_callback, &parms, 1); |
| 267 | } | 267 | } |
| 268 | EXPORT_SYMBOL(smp_ctl_set_bit); | 268 | EXPORT_SYMBOL(smp_ctl_set_bit); |
| @@ -276,7 +276,7 @@ void smp_ctl_clear_bit(int cr, int bit) · 7 unmodified lines | |||
| 276 | 276 | ||
| 277 | memset(&parms.orvals, 0, sizeof(parms.orvals)); | 277 | memset(&parms.orvals, 0, sizeof(parms.orvals)); |
| 278 | memset(&parms.andvals, 0xff, sizeof(parms.andvals)); | 278 | memset(&parms.andvals, 0xff, sizeof(parms.andvals)); |
| 279 | parms.andvals[cr] = ~(1L << bit); | 279 | parms.andvals[cr] = ~(1UL << bit); |
| 280 | on_each_cpu(smp_ctl_bit_callback, &parms, 1); | 280 | on_each_cpu(smp_ctl_bit_callback, &parms, 1); |
| 281 | } | 281 | } |
| 282 | EXPORT_SYMBOL(smp_ctl_clear_bit); | 282 | EXPORT_SYMBOL(smp_ctl_clear_bit); |
| @@ -25,7 +25,7 @@ extern void s390_backtrace(struct pt_regs * const regs, unsigned int depth); · 24 unmodified lines | |||
| 25 | 25 | ||
| 26 | #include "hwsampler.h" | 26 | #include "hwsampler.h" |
| 27 | 27 | ||
| 28 | #define DEFAULT_INTERVAL 4096 | 28 | #define DEFAULT_INTERVAL 4127518 |
| 29 | 29 | ||
| 30 | #define DEFAULT_SDBT_BLOCKS 1 | 30 | #define DEFAULT_SDBT_BLOCKS 1 |
| 31 | #define DEFAULT_SDB_BLOCKS 511 | 31 | #define DEFAULT_SDB_BLOCKS 511 |
| @@ -151,6 +151,12 @@ static int oprofile_hwsampler_init(struct oprofile_operations *ops) · 119 unmodified lines | |||
| 151 | if (oprofile_max_interval == 0) | 151 | if (oprofile_max_interval == 0) |
| 152 | return -ENODEV; | 152 | return -ENODEV; |
| 153 | 153 | ||
| 154 | /* The initial value should be sane */ | ||
| 155 | if (oprofile_hw_interval < oprofile_min_interval) | ||
| 156 | oprofile_hw_interval = oprofile_min_interval; | ||
| 157 | if (oprofile_hw_interval > oprofile_max_interval) | ||
| 158 | oprofile_hw_interval = oprofile_max_interval; | ||
| 159 | |||
| 154 | if (oprofile_timer_init(ops)) | 160 | if (oprofile_timer_init(ops)) |
| 155 | return -ENODEV; | 161 | return -ENODEV; |
| 156 | 162 | ||