mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 22:24:11 +08:00
s390/cpum_cf: remove in-kernel counting facility interface
Commit 17bebcc68e
("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>
This commit is contained in:
parent
7a8f09ac18
commit
ea53e6995f
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user