Re: [PATCH net-next 3/5] be2net: fix erx->rx_drops_no_frags wrap around
From: Eric Dumazet <hidden> Date: 2011-08-22 11:47:36
Le lundi 22 août 2011 à 13:43 +0200, Eric Dumazet a écrit :
This adds a race for lockless SNMP readers (in be_get_stats64())
They can see the 32bit value going backward.
You have to be very careful to read the *acc once, and write it once.
The "write once" is the only requirement.
Something like :
u32 newval = hi(*acc) + val;
if (wrapped)
newval += 65536;
ACCESS_ONCE(*acc) = newval;