flex_proportions: remove unused fprop_local_single
authorKemeng Shi <shikemeng@huaweicloud.com>
Thu, 18 Jan 2024 20:13:21 +0000 (04:13 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 22 Feb 2024 23:38:52 +0000 (15:38 -0800)
The single variant of flex_proportions is not used.  Simply remove it.

Link: https://lkml.kernel.org/r/20240118201321.759174-1-shikemeng@huaweicloud.com
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/flex_proportions.h
lib/flex_proportions.c

index 3e378b1fb0bc8204214073f1f671e182ff4ebf32..e9a72fd0bfe78bc4e58f99a5bff69777b8676f38 100644 (file)
@@ -38,38 +38,6 @@ int fprop_global_init(struct fprop_global *p, gfp_t gfp);
 void fprop_global_destroy(struct fprop_global *p);
 bool fprop_new_period(struct fprop_global *p, int 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 ----
  */
index 83332fefa6f42e5e57434d214594e7c2306b1a0d..84ecccddc77182debc51ca7876866989a21b9fda 100644 (file)
@@ -83,83 +83,6 @@ bool fprop_new_period(struct fprop_global *p, int periods)
        return true;
 }
 
-/*
- * ---- SINGLE ----
- */
-
-int fprop_local_init_single(struct fprop_local_single *pl)
-{
-       pl->events = 0;
-       pl->period = 0;
-       raw_spin_lock_init(&pl->lock);
-       return 0;
-}
-
-void fprop_local_destroy_single(struct fprop_local_single *pl)
-{
-}
-
-static void fprop_reflect_period_single(struct fprop_global *p,
-                                       struct fprop_local_single *pl)
-{
-       unsigned int period = p->period;
-       unsigned long flags;
-
-       /* Fast path - period didn't change */
-       if (pl->period == period)
-               return;
-       raw_spin_lock_irqsave(&pl->lock, flags);
-       /* Someone updated pl->period while we were spinning? */
-       if (pl->period >= period) {
-               raw_spin_unlock_irqrestore(&pl->lock, flags);
-               return;
-       }
-       /* Aging zeroed our fraction? */
-       if (period - pl->period < BITS_PER_LONG)
-               pl->events >>= period - pl->period;
-       else
-               pl->events = 0;
-       pl->period = period;
-       raw_spin_unlock_irqrestore(&pl->lock, flags);
-}
-
-/* Event of type pl happened */
-void __fprop_inc_single(struct fprop_global *p, struct fprop_local_single *pl)
-{
-       fprop_reflect_period_single(p, pl);
-       pl->events++;
-       percpu_counter_add(&p->events, 1);
-}
-
-/* Return fraction of events of type pl */
-void fprop_fraction_single(struct fprop_global *p,
-                          struct fprop_local_single *pl,
-                          unsigned long *numerator, unsigned long *denominator)
-{
-       unsigned int seq;
-       s64 num, den;
-
-       do {
-               seq = read_seqcount_begin(&p->sequence);
-               fprop_reflect_period_single(p, pl);
-               num = pl->events;
-               den = percpu_counter_read_positive(&p->events);
-       } while (read_seqcount_retry(&p->sequence, seq));
-
-       /*
-        * Make fraction <= 1 and denominator > 0 even in presence of percpu
-        * counter errors
-        */
-       if (den <= num) {
-               if (num)
-                       den = num;
-               else
-                       den = 1;
-       }
-       *denominator = den;
-       *numerator = num;
-}
-
 /*
  * ---- PERCPU ----
  */