[NET]: uninline dst_release
Codiff stats (allyesconfig, v2.6.24-mm1): -16420 187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -7257 186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release dst_release | +40 Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c2aa270ad7
commit
8d3308687f
2 changed files with 11 additions and 9 deletions
|
@ -163,15 +163,7 @@ struct dst_entry * dst_clone(struct dst_entry * dst)
|
|||
return dst;
|
||||
}
|
||||
|
||||
static inline
|
||||
void dst_release(struct dst_entry * dst)
|
||||
{
|
||||
if (dst) {
|
||||
WARN_ON(atomic_read(&dst->__refcnt) < 1);
|
||||
smp_mb__before_atomic_dec();
|
||||
atomic_dec(&dst->__refcnt);
|
||||
}
|
||||
}
|
||||
extern void dst_release(struct dst_entry *dst);
|
||||
|
||||
/* Children define the path of the packet through the
|
||||
* Linux networking. Thus, destinations are stackable.
|
||||
|
|
|
@ -259,6 +259,16 @@ struct dst_entry *dst_destroy(struct dst_entry * dst)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void dst_release(struct dst_entry *dst)
|
||||
{
|
||||
if (dst) {
|
||||
WARN_ON(atomic_read(&dst->__refcnt) < 1);
|
||||
smp_mb__before_atomic_dec();
|
||||
atomic_dec(&dst->__refcnt);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(dst_release);
|
||||
|
||||
/* Dirty hack. We did it in 2.2 (in __dst_free),
|
||||
* we have _very_ good reasons not to repeat
|
||||
* this mistake in 2.3, but we have no choice
|
||||
|
|
Loading…
Reference in a new issue