aboutsummaryrefslogtreecommitdiffstats
path: root/include/kvm
diff options
context:
space:
mode:
Diffstat (limited to 'include/kvm')
0 files changed, 0 insertions, 0 deletions
periods); /* * ---- SINGLE ---- */ struct fprop_local_single { /* the local events counter */ unsigned long events; /* Period in which we last updated events */ unsigned int period; raw_spinlock_t lock; /* Protect period and numerator */ }; #define INIT_FPROP_LOCAL_SINGLE(name) \ { .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ } int fprop_local_init_single(struct fprop_local_single *pl); void fprop_local_destroy_single(struct fprop_local_single *pl); void __fprop_inc_single(struct fprop_global *p, struct fprop_local_single *pl); void fprop_fraction_single(struct fprop_global *p, struct fprop_local_single *pl, unsigned long *numerator, unsigned long *denominator); static inline void fprop_inc_single(struct fprop_global *p, struct fprop_local_single *pl) { unsigned long flags; local_irq_save(flags); __fprop_inc_single(p, pl); local_irq_restore(flags); } /* * ---- PERCPU ---- */ struct fprop_local_percpu { /* the local events counter */ struct percpu_counter events; /* Period in which we last updated events */ unsigned int period; raw_spinlock_t lock; /* Protect period and numerator */ }; int fprop_local_init_percpu(struct fprop_local_percpu *pl); void fprop_local_destroy_percpu(struct fprop_local_percpu *pl); void __fprop_inc_percpu(struct fprop_global *p, struct fprop_local_percpu *pl); void __fprop_inc_percpu_max(struct fprop_global *p, struct fprop_local_percpu *pl, int max_frac); void fprop_fraction_percpu(struct fprop_global *p, struct fprop_local_percpu *pl, unsigned long *numerator, unsigned long *denominator); static inline void fprop_inc_percpu(struct fprop_global *p, struct fprop_local_percpu *pl) { unsigned long flags; local_irq_save(flags); __fprop_inc_percpu(p, pl); local_irq_restore(flags); } #endif