aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2014-03-14 00:26:42 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-14 22:41:36 -0400
commit57a7744e09867ebcfa0ccf1d6d529caa7728d552 (patch)
tree6407fee7138787a24bf9251abfeeae69a239028a /net/openvswitch
parent85dcce7a73f1cc59f7a96fe52713b1630f4ca272 (diff)
net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq
Replace the bh safe variant with the hard irq safe variant. We need a hard irq safe variant to deal with netpoll transmitting packets from hard irq context, and we need it in most if not all of the places using the bh safe variant. Except on 32bit uni-processor the code is exactly the same so don't bother with a bh variant, just have a hard irq safe variant that everyone can use. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch')
-rw-r--r--net/openvswitch/datapath.c4
-rw-r--r--net/openvswitch/vport.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 36f8872cb072..c53fe0c9697c 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -606,9 +606,9 @@ static void get_dp_stats(struct datapath *dp, struct ovs_dp_stats *stats,
606 percpu_stats = per_cpu_ptr(dp->stats_percpu, i); 606 percpu_stats = per_cpu_ptr(dp->stats_percpu, i);
607 607
608 do { 608 do {
609 start = u64_stats_fetch_begin_bh(&percpu_stats->syncp); 609 start = u64_stats_fetch_begin_irq(&percpu_stats->syncp);
610 local_stats = *percpu_stats; 610 local_stats = *percpu_stats;
611 } while (u64_stats_fetch_retry_bh(&percpu_stats->syncp, start)); 611 } while (u64_stats_fetch_retry_irq(&percpu_stats->syncp, start));
612 612
613 stats->n_hit += local_stats.n_hit; 613 stats->n_hit += local_stats.n_hit;
614 stats->n_missed += local_stats.n_missed; 614 stats->n_missed += local_stats.n_missed;
diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
index 3b4db3220456..42c0f4a0b78c 100644
--- a/net/openvswitch/vport.c
+++ b/net/openvswitch/vport.c
@@ -277,9 +277,9 @@ void ovs_vport_get_stats(struct vport *vport, struct ovs_vport_stats *stats)
277 percpu_stats = per_cpu_ptr(vport->percpu_stats, i); 277 percpu_stats = per_cpu_ptr(vport->percpu_stats, i);
278 278
279 do { 279 do {
280 start = u64_stats_fetch_begin_bh(&percpu_stats->syncp); 280 start = u64_stats_fetch_begin_irq(&percpu_stats->syncp);
281 local_stats = *percpu_stats; 281 local_stats = *percpu_stats;
282 } while (u64_stats_fetch_retry_bh(&percpu_stats->syncp, start)); 282 } while (u64_stats_fetch_retry_irq(&percpu_stats->syncp, start));
283 283
284 stats->rx_bytes += local_stats.rx_bytes; 284 stats->rx_bytes += local_stats.rx_bytes;
285 stats->rx_packets += local_stats.rx_packets; 285 stats->rx_packets += local_stats.rx_packets;