• Home
  • Raw
  • Download

Lines Matching full:shared

185 static int dm_stat_in_flight(struct dm_stat_shared *shared)  in dm_stat_in_flight()  argument
187 return atomic_read(&shared->in_flight[READ]) + in dm_stat_in_flight()
188 atomic_read(&shared->in_flight[WRITE]); in dm_stat_in_flight()
215 struct dm_stat_shared *shared; in dm_stats_cleanup() local
221 shared = &s->stat_shared[ni]; in dm_stats_cleanup()
222 if (WARN_ON(dm_stat_in_flight(shared))) { in dm_stats_cleanup()
229 atomic_read(&shared->in_flight[READ]), in dm_stats_cleanup()
230 atomic_read(&shared->in_flight[WRITE])); in dm_stats_cleanup()
493 static void dm_stat_round(struct dm_stat *s, struct dm_stat_shared *shared, in dm_stat_round() argument
507 difference = now - shared->stamp; in dm_stat_round()
511 in_flight_read = (unsigned)atomic_read(&shared->in_flight[READ]); in dm_stat_round()
512 in_flight_write = (unsigned)atomic_read(&shared->in_flight[WRITE]); in dm_stat_round()
521 shared->stamp = now; in dm_stat_round()
529 struct dm_stat_shared *shared = &s->stat_shared[entry]; in dm_stat_for_entry() local
556 dm_stat_round(s, shared, p); in dm_stat_for_entry()
557 atomic_inc(&shared->in_flight[idx]); in dm_stat_for_entry()
560 dm_stat_round(s, shared, p); in dm_stat_for_entry()
561 atomic_dec(&shared->in_flight[idx]); in dm_stat_for_entry()
679 static void __dm_stat_init_temporary_percpu_totals(struct dm_stat_shared *shared, in __dm_stat_init_temporary_percpu_totals() argument
687 dm_stat_round(s, shared, p); in __dm_stat_init_temporary_percpu_totals()
690 shared->tmp.sectors[READ] = 0; in __dm_stat_init_temporary_percpu_totals()
691 shared->tmp.sectors[WRITE] = 0; in __dm_stat_init_temporary_percpu_totals()
692 shared->tmp.ios[READ] = 0; in __dm_stat_init_temporary_percpu_totals()
693 shared->tmp.ios[WRITE] = 0; in __dm_stat_init_temporary_percpu_totals()
694 shared->tmp.merges[READ] = 0; in __dm_stat_init_temporary_percpu_totals()
695 shared->tmp.merges[WRITE] = 0; in __dm_stat_init_temporary_percpu_totals()
696 shared->tmp.ticks[READ] = 0; in __dm_stat_init_temporary_percpu_totals()
697 shared->tmp.ticks[WRITE] = 0; in __dm_stat_init_temporary_percpu_totals()
698 shared->tmp.io_ticks[READ] = 0; in __dm_stat_init_temporary_percpu_totals()
699 shared->tmp.io_ticks[WRITE] = 0; in __dm_stat_init_temporary_percpu_totals()
700 shared->tmp.io_ticks_total = 0; in __dm_stat_init_temporary_percpu_totals()
701 shared->tmp.time_in_queue = 0; in __dm_stat_init_temporary_percpu_totals()
704 memset(shared->tmp.histogram, 0, (s->n_histogram_entries + 1) * sizeof(unsigned long long)); in __dm_stat_init_temporary_percpu_totals()
708 shared->tmp.sectors[READ] += READ_ONCE(p->sectors[READ]); in __dm_stat_init_temporary_percpu_totals()
709 shared->tmp.sectors[WRITE] += READ_ONCE(p->sectors[WRITE]); in __dm_stat_init_temporary_percpu_totals()
710 shared->tmp.ios[READ] += READ_ONCE(p->ios[READ]); in __dm_stat_init_temporary_percpu_totals()
711 shared->tmp.ios[WRITE] += READ_ONCE(p->ios[WRITE]); in __dm_stat_init_temporary_percpu_totals()
712 shared->tmp.merges[READ] += READ_ONCE(p->merges[READ]); in __dm_stat_init_temporary_percpu_totals()
713 shared->tmp.merges[WRITE] += READ_ONCE(p->merges[WRITE]); in __dm_stat_init_temporary_percpu_totals()
714 shared->tmp.ticks[READ] += READ_ONCE(p->ticks[READ]); in __dm_stat_init_temporary_percpu_totals()
715 shared->tmp.ticks[WRITE] += READ_ONCE(p->ticks[WRITE]); in __dm_stat_init_temporary_percpu_totals()
716 shared->tmp.io_ticks[READ] += READ_ONCE(p->io_ticks[READ]); in __dm_stat_init_temporary_percpu_totals()
717 shared->tmp.io_ticks[WRITE] += READ_ONCE(p->io_ticks[WRITE]); in __dm_stat_init_temporary_percpu_totals()
718 shared->tmp.io_ticks_total += READ_ONCE(p->io_ticks_total); in __dm_stat_init_temporary_percpu_totals()
719 shared->tmp.time_in_queue += READ_ONCE(p->time_in_queue); in __dm_stat_init_temporary_percpu_totals()
723 shared->tmp.histogram[i] += READ_ONCE(p->histogram[i]); in __dm_stat_init_temporary_percpu_totals()
732 struct dm_stat_shared *shared; in __dm_stat_clear() local
736 shared = &s->stat_shared[x]; in __dm_stat_clear()
738 __dm_stat_init_temporary_percpu_totals(shared, s, x); in __dm_stat_clear()
741 p->sectors[READ] -= shared->tmp.sectors[READ]; in __dm_stat_clear()
742 p->sectors[WRITE] -= shared->tmp.sectors[WRITE]; in __dm_stat_clear()
743 p->ios[READ] -= shared->tmp.ios[READ]; in __dm_stat_clear()
744 p->ios[WRITE] -= shared->tmp.ios[WRITE]; in __dm_stat_clear()
745 p->merges[READ] -= shared->tmp.merges[READ]; in __dm_stat_clear()
746 p->merges[WRITE] -= shared->tmp.merges[WRITE]; in __dm_stat_clear()
747 p->ticks[READ] -= shared->tmp.ticks[READ]; in __dm_stat_clear()
748 p->ticks[WRITE] -= shared->tmp.ticks[WRITE]; in __dm_stat_clear()
749 p->io_ticks[READ] -= shared->tmp.io_ticks[READ]; in __dm_stat_clear()
750 p->io_ticks[WRITE] -= shared->tmp.io_ticks[WRITE]; in __dm_stat_clear()
751 p->io_ticks_total -= shared->tmp.io_ticks_total; in __dm_stat_clear()
752 p->time_in_queue -= shared->tmp.time_in_queue; in __dm_stat_clear()
759 p->histogram[i] -= shared->tmp.histogram[i]; in __dm_stat_clear()
819 struct dm_stat_shared *shared; in dm_stats_print() local
846 shared = &s->stat_shared[x]; in dm_stats_print()
851 __dm_stat_init_temporary_percpu_totals(shared, s, x); in dm_stats_print()
856 shared->tmp.ios[READ], in dm_stats_print()
857 shared->tmp.merges[READ], in dm_stats_print()
858 shared->tmp.sectors[READ], in dm_stats_print()
859 dm_jiffies_to_msec64(s, shared->tmp.ticks[READ]), in dm_stats_print()
860 shared->tmp.ios[WRITE], in dm_stats_print()
861 shared->tmp.merges[WRITE], in dm_stats_print()
862 shared->tmp.sectors[WRITE], in dm_stats_print()
863 dm_jiffies_to_msec64(s, shared->tmp.ticks[WRITE]), in dm_stats_print()
864 dm_stat_in_flight(shared), in dm_stats_print()
865 dm_jiffies_to_msec64(s, shared->tmp.io_ticks_total), in dm_stats_print()
866 dm_jiffies_to_msec64(s, shared->tmp.time_in_queue), in dm_stats_print()
867 dm_jiffies_to_msec64(s, shared->tmp.io_ticks[READ]), in dm_stats_print()
868 dm_jiffies_to_msec64(s, shared->tmp.io_ticks[WRITE])); in dm_stats_print()
872 DMEMIT("%s%llu", !i ? " " : ":", shared->tmp.histogram[i]); in dm_stats_print()