@ -128,7 +128,7 @@ struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *ops,
vport - > ops = ops ;
INIT_HLIST_NODE ( & vport - > dp_hash_node ) ;
vport - > percpu_stats = alloc_percpu ( struct v port_per cpu_stats) ;
vport - > percpu_stats = alloc_percpu ( struct pcpu_t stats ) ;
if ( ! vport - > percpu_stats ) {
kfree ( vport ) ;
return ERR_PTR ( - ENOMEM ) ;
@ -260,16 +260,16 @@ void ovs_vport_get_stats(struct vport *vport, struct ovs_vport_stats *stats)
spin_unlock_bh ( & vport - > stats_lock ) ;
for_each_possible_cpu ( i ) {
const struct v port_per cpu_stats * percpu_stats ;
struct v port_per cpu_stats local_stats ;
const struct pcpu_t stats * percpu_stats ;
struct pcpu_t stats local_stats ;
unsigned int start ;
percpu_stats = per_cpu_ptr ( vport - > percpu_stats , i ) ;
do {
start = u64_stats_fetch_begin_bh ( & percpu_stats - > sync ) ;
start = u64_stats_fetch_begin_bh ( & percpu_stats - > syncp ) ;
local_stats = * percpu_stats ;
} while ( u64_stats_fetch_retry_bh ( & percpu_stats - > sync , start ) ) ;
} while ( u64_stats_fetch_retry_bh ( & percpu_stats - > syncp , start ) ) ;
stats - > rx_bytes + = local_stats . rx_bytes ;
stats - > rx_packets + = local_stats . rx_packets ;
@ -327,13 +327,13 @@ int ovs_vport_get_options(const struct vport *vport, struct sk_buff *skb)
*/
void ovs_vport_receive ( struct vport * vport , struct sk_buff * skb )
{
struct v port_per cpu_stats * stats ;
struct pcpu_t stats * stats ;
stats = this_cpu_ptr ( vport - > percpu_stats ) ;
u64_stats_update_begin ( & stats - > sync ) ;
u64_stats_update_begin ( & stats - > syncp ) ;
stats - > rx_packets + + ;
stats - > rx_bytes + = skb - > len ;
u64_stats_update_end ( & stats - > sync ) ;
u64_stats_update_end ( & stats - > syncp ) ;
ovs_dp_process_received_packet ( vport , skb ) ;
}
@ -352,14 +352,14 @@ int ovs_vport_send(struct vport *vport, struct sk_buff *skb)
int sent = vport - > ops - > send ( vport , skb ) ;
if ( likely ( sent ) ) {
struct v port_per cpu_stats * stats ;
struct pcpu_t stats * stats ;
stats = this_cpu_ptr ( vport - > percpu_stats ) ;
u64_stats_update_begin ( & stats - > sync ) ;
u64_stats_update_begin ( & stats - > syncp ) ;
stats - > tx_packets + + ;
stats - > tx_bytes + = sent ;
u64_stats_update_end ( & stats - > sync ) ;
u64_stats_update_end ( & stats - > syncp ) ;
}
return sent ;
}