summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-stats.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/dm-stats.c')
-rw-r--r--drivers/md/dm-stats.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/md/dm-stats.c b/drivers/md/dm-stats.c
index 6028d8247f58..a1a5eec783cc 100644
--- a/drivers/md/dm-stats.c
+++ b/drivers/md/dm-stats.c
@@ -431,7 +431,7 @@ do_sync_free:
431 synchronize_rcu_expedited(); 431 synchronize_rcu_expedited();
432 dm_stat_free(&s->rcu_head); 432 dm_stat_free(&s->rcu_head);
433 } else { 433 } else {
434 ACCESS_ONCE(dm_stat_need_rcu_barrier) = 1; 434 WRITE_ONCE(dm_stat_need_rcu_barrier, 1);
435 call_rcu(&s->rcu_head, dm_stat_free); 435 call_rcu(&s->rcu_head, dm_stat_free);
436 } 436 }
437 return 0; 437 return 0;
@@ -639,12 +639,12 @@ void dm_stats_account_io(struct dm_stats *stats, unsigned long bi_rw,
639 */ 639 */
640 last = raw_cpu_ptr(stats->last); 640 last = raw_cpu_ptr(stats->last);
641 stats_aux->merged = 641 stats_aux->merged =
642 (bi_sector == (ACCESS_ONCE(last->last_sector) && 642 (bi_sector == (READ_ONCE(last->last_sector) &&
643 ((bi_rw == WRITE) == 643 ((bi_rw == WRITE) ==
644 (ACCESS_ONCE(last->last_rw) == WRITE)) 644 (READ_ONCE(last->last_rw) == WRITE))
645 )); 645 ));
646 ACCESS_ONCE(last->last_sector) = end_sector; 646 WRITE_ONCE(last->last_sector, end_sector);
647 ACCESS_ONCE(last->last_rw) = bi_rw; 647 WRITE_ONCE(last->last_rw, bi_rw);
648 } 648 }
649 649
650 rcu_read_lock(); 650 rcu_read_lock();
@@ -693,22 +693,22 @@ static void __dm_stat_init_temporary_percpu_totals(struct dm_stat_shared *shared
693 693
694 for_each_possible_cpu(cpu) { 694 for_each_possible_cpu(cpu) {
695 p = &s->stat_percpu[cpu][x]; 695 p = &s->stat_percpu[cpu][x];
696 shared->tmp.sectors[READ] += ACCESS_ONCE(p->sectors[READ]); 696 shared->tmp.sectors[READ] += READ_ONCE(p->sectors[READ]);
697 shared->tmp.sectors[WRITE] += ACCESS_ONCE(p->sectors[WRITE]); 697 shared->tmp.sectors[WRITE] += READ_ONCE(p->sectors[WRITE]);
698 shared->tmp.ios[READ] += ACCESS_ONCE(p->ios[READ]); 698 shared->tmp.ios[READ] += READ_ONCE(p->ios[READ]);
699 shared->tmp.ios[WRITE] += ACCESS_ONCE(p->ios[WRITE]); 699 shared->tmp.ios[WRITE] += READ_ONCE(p->ios[WRITE]);
700 shared->tmp.merges[READ] += ACCESS_ONCE(p->merges[READ]); 700 shared->tmp.merges[READ] += READ_ONCE(p->merges[READ]);
701 shared->tmp.merges[WRITE] += ACCESS_ONCE(p->merges[WRITE]); 701 shared->tmp.merges[WRITE] += READ_ONCE(p->merges[WRITE]);
702 shared->tmp.ticks[READ] += ACCESS_ONCE(p->ticks[READ]); 702 shared->tmp.ticks[READ] += READ_ONCE(p->ticks[READ]);
703 shared->tmp.ticks[WRITE] += ACCESS_ONCE(p->ticks[WRITE]); 703 shared->tmp.ticks[WRITE] += READ_ONCE(p->ticks[WRITE]);
704 shared->tmp.io_ticks[READ] += ACCESS_ONCE(p->io_ticks[READ]); 704 shared->tmp.io_ticks[READ] += READ_ONCE(p->io_ticks[READ]);
705 shared->tmp.io_ticks[WRITE] += ACCESS_ONCE(p->io_ticks[WRITE]); 705 shared->tmp.io_ticks[WRITE] += READ_ONCE(p->io_ticks[WRITE]);
706 shared->tmp.io_ticks_total += ACCESS_ONCE(p->io_ticks_total); 706 shared->tmp.io_ticks_total += READ_ONCE(p->io_ticks_total);
707 shared->tmp.time_in_queue += ACCESS_ONCE(p->time_in_queue); 707 shared->tmp.time_in_queue += READ_ONCE(p->time_in_queue);
708 if (s->n_histogram_entries) { 708 if (s->n_histogram_entries) {
709 unsigned i; 709 unsigned i;
710 for (i = 0; i < s->n_histogram_entries + 1; i++) 710 for (i = 0; i < s->n_histogram_entries + 1; i++)
711 shared->tmp.histogram[i] += ACCESS_ONCE(p->histogram[i]); 711 shared->tmp.histogram[i] += READ_ONCE(p->histogram[i]);
712 } 712 }
713 } 713 }
714} 714}