net: avoid one atomic operation in skb_clone()
authorEric Dumazet <edumazet@google.com>
Wed, 1 Oct 2014 22:27:15 +0000 (15:27 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Oct 2014 01:27:23 +0000 (21:27 -0400)
commitce1a4ea3f125863bfbcb1afb76590ee2b7b93fbf
tree5efaaa29736600ab06f5c4ed27af855fb543de13
parente500f488c27659bb6f5d313b336621f3daa67701
net: avoid one atomic operation in skb_clone()

Fast clone cloning can actually avoid an atomic_inc(), if we
guarantee prior clone_ref value is 1.

This requires a change kfree_skbmem(), to perform the
atomic_dec_and_test() on clone_ref before setting fclone to
SKB_FCLONE_UNAVAILABLE.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c