I think this is incredibly ugly and hacky.
Seriously, look at that code, and tell me it makes sense.
No, it does not. The code looks like totally random line noise, and that
whole "> 1" test makes no conceptual sense what-so-ever.
It _will_ result in random bugs later on, because code that doesn't make
sense will never be good in the long run.
At the very least, add a helper function for "do I actually have
outstanding allocations" or something like that. IOW, do a
/*
* Comment here about that magical "1"
*/
static inline int sk_has_allocations(struct sock *sk)
{
return atomic_read(&sk->sk_wmem_alloc) > 1 ||
atomic_read(&sk->sk_rmem_alloc);
}
and then make the various network protocols use that, rather than
open-coding some random internal implementation magic.
Linus
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html