summaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorThomas Richter <tmricht@linux.ibm.com>2023-01-24 12:20:53 +0100
committerHeiko Carstens <hca@linux.ibm.com>2023-01-25 20:51:10 +0100
commitea53e6995f45e857fd34e4fbfbd436b5457da5f7 (patch)
tree1cebf8b72d865c90dcfec1fb9a6d5a6cc7c517dd /arch/s390
parent7a8f09ac1850b17ca0cc9e1e4d6621a64661347e (diff)
downloadlinux-ea53e6995f45e857fd34e4fbfbd436b5457da5f7.tar.gz
s390/cpum_cf: remove in-kernel counting facility interface
Commit 17bebcc68eee ("s390/cpum_cf: Add minimal in-kernel interface for counter measurements") introduced a small in-kernel interface for CPU Measurement counter facility. There are no users of this interface, therefore remove it. The following functions are removed: kernel_cpumcf_alert(), kernel_cpumcf_begin(), kernel_cpumcf_end(), kernel_cpumcf_avail() there is no need for them anymore. With the removal of function kernel_cpumcf_alert(), also remove member alert in struct cpu_cf_events. Its purpose was to counter measurement alert interrupts for the in-kernel interface. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/cpu_mcf.h17
-rw-r--r--arch/s390/kernel/perf_cpum_cf.c2
-rw-r--r--arch/s390/kernel/perf_cpum_cf_common.c24
3 files changed, 1 insertions, 42 deletions
diff --git a/arch/s390/include/asm/cpu_mcf.h b/arch/s390/include/asm/cpu_mcf.h
index 4b29c31c0e04..88fc115ebfbe 100644
--- a/arch/s390/include/asm/cpu_mcf.h
+++ b/arch/s390/include/asm/cpu_mcf.h
@@ -67,7 +67,6 @@ static inline int ctr_stcctm(enum cpumf_ctr_set set, u64 range, u64 *dest)
struct cpu_cf_events {
struct cpumf_ctr_info info;
atomic_t ctr_set[CPUMF_CTR_SET_MAX];
- atomic64_t alert;
u64 state; /* For perf_event_open SVC */
u64 dev_state; /* For /dev/hwctr */
unsigned int flags;
@@ -80,25 +79,9 @@ struct cpu_cf_events {
};
DECLARE_PER_CPU(struct cpu_cf_events, cpu_cf_events);
-bool kernel_cpumcf_avail(void);
int __kernel_cpumcf_begin(void);
-unsigned long kernel_cpumcf_alert(int clear);
void __kernel_cpumcf_end(void);
-static inline int kernel_cpumcf_begin(void)
-{
- if (!cpum_cf_avail())
- return -ENODEV;
-
- preempt_disable();
- return __kernel_cpumcf_begin();
-}
-static inline void kernel_cpumcf_end(void)
-{
- __kernel_cpumcf_end();
- preempt_enable();
-}
-
int cfset_online_cpu(unsigned int cpu);
int cfset_offline_cpu(unsigned int cpu);
#endif /* _ASM_S390_CPU_MCF_H */
diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c
index 7299f7f0b325..5eaa81dd56c3 100644
--- a/arch/s390/kernel/perf_cpum_cf.c
+++ b/arch/s390/kernel/perf_cpum_cf.c
@@ -832,7 +832,7 @@ static int __init cpumf_pmu_init(void)
{
int rc;
- if (!kernel_cpumcf_avail())
+ if (!cpum_cf_avail())
return -ENODEV;
/* Setup s390dbf facility */
diff --git a/arch/s390/kernel/perf_cpum_cf_common.c b/arch/s390/kernel/perf_cpum_cf_common.c
index 4824e3461b5b..99523dc3fc8b 100644
--- a/arch/s390/kernel/perf_cpum_cf_common.c
+++ b/arch/s390/kernel/perf_cpum_cf_common.c
@@ -27,7 +27,6 @@ DEFINE_PER_CPU(struct cpu_cf_events, cpu_cf_events) = {
[CPUMF_CTR_SET_EXT] = ATOMIC_INIT(0),
[CPUMF_CTR_SET_MT_DIAG] = ATOMIC_INIT(0),
},
- .alert = ATOMIC64_INIT(0),
.state = 0,
.dev_state = 0,
.flags = 0,
@@ -67,9 +66,6 @@ static void cpumf_measurement_alert(struct ext_code ext_code,
if (alert & CPU_MF_INT_CF_MTDA)
pr_warn("CPU[%i] MT counter data was lost\n",
smp_processor_id());
-
- /* store alert for special handling by in-kernel users */
- atomic64_or(alert, &cpuhw->alert);
}
#define PMC_INIT 0
@@ -94,12 +90,6 @@ static void cpum_cf_setup_cpu(void *flags)
lcctl(0);
}
-bool kernel_cpumcf_avail(void)
-{
- return cpum_cf_initalized;
-}
-EXPORT_SYMBOL(kernel_cpumcf_avail);
-
/* Initialize the CPU-measurement counter facility */
int __kernel_cpumcf_begin(void)
{
@@ -112,20 +102,6 @@ int __kernel_cpumcf_begin(void)
}
EXPORT_SYMBOL(__kernel_cpumcf_begin);
-/* Obtain the CPU-measurement alerts for the counter facility */
-unsigned long kernel_cpumcf_alert(int clear)
-{
- struct cpu_cf_events *cpuhw = this_cpu_ptr(&cpu_cf_events);
- unsigned long alert;
-
- alert = atomic64_read(&cpuhw->alert);
- if (clear)
- atomic64_set(&cpuhw->alert, 0);
-
- return alert;
-}
-EXPORT_SYMBOL(kernel_cpumcf_alert);
-
/* Release the CPU-measurement counter facility */
void __kernel_cpumcf_end(void)
{