linux/drivers/md/bcache/stats.h
<<
>>
Prefs
   1#ifndef _BCACHE_STATS_H_
   2#define _BCACHE_STATS_H_
   3
   4struct cache_stat_collector {
   5        atomic_t cache_hits;
   6        atomic_t cache_misses;
   7        atomic_t cache_bypass_hits;
   8        atomic_t cache_bypass_misses;
   9        atomic_t cache_readaheads;
  10        atomic_t cache_miss_collisions;
  11        atomic_t sectors_bypassed;
  12};
  13
  14struct cache_stats {
  15        struct kobject          kobj;
  16
  17        unsigned long cache_hits;
  18        unsigned long cache_misses;
  19        unsigned long cache_bypass_hits;
  20        unsigned long cache_bypass_misses;
  21        unsigned long cache_readaheads;
  22        unsigned long cache_miss_collisions;
  23        unsigned long sectors_bypassed;
  24
  25        unsigned                rescale;
  26};
  27
  28struct cache_accounting {
  29        struct closure          cl;
  30        struct timer_list       timer;
  31        atomic_t                closing;
  32
  33        struct cache_stat_collector collector;
  34
  35        struct cache_stats total;
  36        struct cache_stats five_minute;
  37        struct cache_stats hour;
  38        struct cache_stats day;
  39};
  40
  41struct cache_set;
  42struct cached_dev;
  43struct bcache_device;
  44
  45void bch_cache_accounting_init(struct cache_accounting *acc,
  46                               struct closure *parent);
  47
  48int bch_cache_accounting_add_kobjs(struct cache_accounting *acc,
  49                                   struct kobject *parent);
  50
  51void bch_cache_accounting_clear(struct cache_accounting *acc);
  52
  53void bch_cache_accounting_destroy(struct cache_accounting *acc);
  54
  55void bch_mark_cache_accounting(struct cache_set *, struct bcache_device *,
  56                               bool, bool);
  57void bch_mark_cache_readahead(struct cache_set *, struct bcache_device *);
  58void bch_mark_cache_miss_collision(struct cache_set *, struct bcache_device *);
  59void bch_mark_sectors_bypassed(struct cache_set *, struct cached_dev *, int);
  60
  61#endif /* _BCACHE_STATS_H_ */
  62