| To: | netdev@xxxxxxxxxxx |
|---|---|
| Subject: | kfree_skb: unnecessary check ? |
| From: | Patrick McHardy <kaber@xxxxxxxxx> |
| Date: | Wed, 19 Jun 2002 18:53:18 +0200 |
| Sender: | owner-netdev@xxxxxxxxxxx |
| User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020412 Debian/0.9.9-6 |
Hi everyone.
In skbuff.h one sees:
static inline void kfree_skb(struct sk_buff *skb)
{
if (atomic_read(&skb->users) == 1 ||
atomic_dec_and_test(&skb->users))
__kfree_skb(skb);
}
Is atomic_dec_and_test really necessary ? atomic_dec_and_test only
returns true if its argument has hit zero, so it was 1 before.
If atomic_dec is only a bit cheaper than atomic_dec_and_test (which i
guess it is), wouldn't it make more sense to use something like this:
static inline void kfree_skb(struct sk_buff *skb)
{
if (atomic_read(&skb->users) == 1)
__kfree(skb);
else
atomic_dec(&skb->users);
}
Bye,
Patrick
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH][2.5.22] OOPS in tcp_v6_get_port, Arnaldo Carvalho de Melo |
|---|---|
| Next by Date: | how to report network device errors to userspace?, Chris Friesen |
| Previous by Thread: | 2.2.20pre2: ipv6_route entries shifted, Rafal Maszkowski |
| Next by Thread: | Re: kfree_skb: unnecessary check ?, Thomas 'Dent' Mirlacher |
| Indexes: | [Date] [Thread] [Top] [All Lists] |