[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1386261485.30495.203.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Thu, 05 Dec 2013 08:38:05 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Hannes Frederic Sowa <hannes@...essinduktion.org>
Cc: David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] net: introduce dev_consume_skb_any()
On Thu, 2013-12-05 at 16:44 +0100, Hannes Frederic Sowa wrote:
> It makes some sense but I did not grasp the whole ->users dependency
> picture, yet. I guess the barrier is only needed when refcount drops
> down to 0 and we don't necessarily need one when incrementing ->users.
If you are the only user of this skb, really no smp barrier is needed at
all.
The problem comes when another cpu is working on the skb, and finally
releases its reference on it.
Before releasing its reference, it must commit all changes it might have
done onto skb. Otherwise another cpu might read stale data.
The smp_wmb() is done by the atomic_dec_and_test(), as it contains a
full barrier.
So the smp_rmb() pairs with the barrier done in atomic_dec_and_test()
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists