s390 patches for 2.6.40-rc4
Hi Linus,
please pull from 'for-linus' branch of
git://git390.marist.edu/pub/scm/linux-2.6.git for-linus
to receive the following updates:
Christian Borntraeger (3):
[S390] kvm-s390: fix kconfig dependencies
[S390] s390: enforce HW limits for the initial sampling rate [S390] hwsampler: Set a sane default sampling rate
Jan Glauber (1):
[S390] allow setting of upper 32 bit in smp_ctl_set_bit
arch/s390/Kconfig | 1 + arch/s390/kernel/smp.c | 4 ++-- arch/s390/oprofile/init.c | 8 +++++++- 3 files changed, 10 insertions(+), 3 deletions(-)
arch/s390/Kconfig +1 -0
@@ -579,6 +579,7 @@ config S390_GUEST def_bool y prompt "s390 guest support for KVM (EXPERIMENTAL)" depends on 64BIT && EXPERIMENTAL + select VIRTUALIZATION select VIRTIO select VIRTIO_RING select VIRTIO_CONSOLE
arch/s390/kernel/smp.c +2 -2
@@ -262,7 +262,7 @@ void smp_ctl_set_bit(int cr, int bit)memset (&parms.orvals,0 ,sizeof (parms.orvals));memset (&parms.andvals,0xff ,sizeof (parms.andvals)); - parms.orvals[cr] =1 << bit; + parms.orvals[cr] =1UL << bit;on_each_cpu (smp_ctl_bit_callback, &parms,1 ); }EXPORT_SYMBOL (smp_ctl_set_bit);
@@ -276,7 +276,7 @@ void smp_ctl_clear_bit(int cr, int bit)memset (&parms.orvals,0 ,sizeof (parms.orvals));memset (&parms.andvals,0xff ,sizeof (parms.andvals)); - parms.andvals[cr] = ~(1L << bit); + parms.andvals[cr] = ~(1UL << bit);on_each_cpu (smp_ctl_bit_callback, &parms,1 ); }EXPORT_SYMBOL (smp_ctl_clear_bit);
arch/s390/oprofile/init.c +7 -1
@@ -25,7 +25,7 @@ extern void s390_backtrace(struct pt_regs * const regs, unsigned int depth);#include "hwsampler.h" -#define DEFAULT_INTERVAL 4096 +#define DEFAULT_INTERVAL 4127518#define DEFAULT_SDBT_BLOCKS 1#define DEFAULT_SDB_BLOCKS 511
@@ -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 ;