s390/cpu_mf: move struct cpu_cf_events and per-CPU variable to header file
authorHendrik Brueckner <brueckner@linux.ibm.com>
Wed, 8 Aug 2018 08:12:22 +0000 (10:12 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 22 Feb 2019 08:19:49 +0000 (09:19 +0100)
Make the struct cpu_cf_events and the respective per-CPU variable available
to in-kernel users.  Access to this per-CPU variable shall be done between
the calls to __kernel_cpumcf_begin() and __kernel_cpumcf_end().

Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/cpu_mcf.h
arch/s390/kernel/perf_cpum_cf.c

index 63fa741..82e0b80 100644 (file)
@@ -49,6 +49,15 @@ static inline void ctr_set_stop(u64 *state, int ctr_set)
        *state &= ~(cpumf_ctr_ctl[ctr_set] << CPUMF_LCCTL_ACTCTL_SHIFT);
 }
 
+struct cpu_cf_events {
+       struct cpumf_ctr_info   info;
+       atomic_t                ctr_set[CPUMF_CTR_SET_MAX];
+       u64                     state, tx_state;
+       unsigned int            flags;
+       unsigned int            txn_flags;
+};
+DECLARE_PER_CPU(struct cpu_cf_events, cpu_cf_events);
+
 int __kernel_cpumcf_begin(void);
 void __kernel_cpumcf_end(void);
 
index bae5945..758cbb1 100644 (file)
 #include <asm/irq.h>
 #include <asm/cpu_mcf.h>
 
-/* Local CPUMF event structure */
-struct cpu_cf_events {
-       struct cpumf_ctr_info   info;
-       atomic_t                ctr_set[CPUMF_CTR_SET_MAX];
-       u64                     state, tx_state;
-       unsigned int            flags;
-       unsigned int            txn_flags;
-};
-static DEFINE_PER_CPU(struct cpu_cf_events, cpu_cf_events) = {
+/* Per-CPU event structure for the counter facility */
+DEFINE_PER_CPU(struct cpu_cf_events, cpu_cf_events) = {
        .ctr_set = {
                [CPUMF_CTR_SET_BASIC]   = ATOMIC_INIT(0),
                [CPUMF_CTR_SET_USER]    = ATOMIC_INIT(0),