Lines Matching refs:stats
765 struct stats { struct
772 void stats_init(struct stats *stats) in stats_init() argument
774 atomic_set(&stats->samples, 0); in stats_init()
779 void stats_add_sample(struct stats *stats, s8 sample) in stats_add_sample() argument
783 unsigned samples = atomic_read(&stats->samples); in stats_add_sample()
789 min = stats->min; in stats_add_sample()
790 max = stats->max; in stats_add_sample()
791 sigma = stats->sigma; in stats_add_sample()
800 stats->min = min; /* commit */ in stats_add_sample()
801 stats->max = max; in stats_add_sample()
802 stats->sigma = sigma; in stats_add_sample()
803 if (atomic_add_return(1, &stats->samples) > 255) { in stats_add_sample()
805 stats->sigma = sigma / 256; in stats_add_sample()
806 atomic_set(&stats->samples, 1); in stats_add_sample()
810 static inline ssize_t stats_show(struct stats *stats, char *buf) in stats_show() argument
813 int samples = atomic_read(&stats->samples); in stats_show()
817 min = stats->min; in stats_show()
818 max = stats->max; in stats_show()
819 avg = stats->sigma / samples; in stats_show()
824 static inline ssize_t stats_store(struct stats *stats, const char *buf, in stats_store() argument
827 stats_init(stats); in stats_store()