From 7dc8d5756f163efd3d4cf45bb23a9efebfe1cbbe Mon Sep 17 00:00:00 2001 From: Hendrik Brueckner Date: Mon, 15 Oct 2012 14:31:29 +0200 Subject: [PATCH] --- yaml --- r: 334738 b: refs/heads/master c: f47586b24c43adadd19c7e3f532a601d6eed728d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/s390/include/asm/perf_event.h | 2 +- trunk/arch/s390/kernel/perf_cpum_cf.c | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index e86cccee7d4a..230c80f25565 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cec8546638dc634824b629e33968d6c68f8b07d6 +refs/heads/master: f47586b24c43adadd19c7e3f532a601d6eed728d diff --git a/trunk/arch/s390/include/asm/perf_event.h b/trunk/arch/s390/include/asm/perf_event.h index 7941968e12b4..5f0173a31693 100644 --- a/trunk/arch/s390/include/asm/perf_event.h +++ b/trunk/arch/s390/include/asm/perf_event.h @@ -9,7 +9,7 @@ #include /* CPU-measurement counter facility */ -#define PERF_CPUM_CF_MAX_CTR 160 +#define PERF_CPUM_CF_MAX_CTR 256 /* Per-CPU flags for PMU states */ #define PMU_F_RESERVED 0x1000 diff --git a/trunk/arch/s390/kernel/perf_cpum_cf.c b/trunk/arch/s390/kernel/perf_cpum_cf.c index 9871b1971ed7..c4e7269d4a09 100644 --- a/trunk/arch/s390/kernel/perf_cpum_cf.c +++ b/trunk/arch/s390/kernel/perf_cpum_cf.c @@ -94,7 +94,7 @@ static int get_counter_set(u64 event) set = CPUMF_CTR_SET_USER; else if (event < 128) set = CPUMF_CTR_SET_CRYPTO; - else if (event < 160) + else if (event < 256) set = CPUMF_CTR_SET_EXT; return set; @@ -138,6 +138,10 @@ static int validate_ctr_version(const struct hw_perf_event *hwc) case CPUMF_CTR_SET_EXT: if (cpuhw->info.csvn < 1) err = -EOPNOTSUPP; + if ((cpuhw->info.csvn == 1 && hwc->config > 159) || + (cpuhw->info.csvn == 2 && hwc->config > 175) || + (cpuhw->info.csvn > 2 && hwc->config > 255)) + err = -EOPNOTSUPP; break; }