On Sat, August 12, 2006 16:14, Peter Zijlstra said: > +struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask, int fclone) > +{ > + struct sk_buff *skb; > + > + skb = ___alloc_skb(size, gfp_mask & ~__GFP_MEMALLOC, fclone); > + > + if (!skb && (gfp_mask & __GFP_MEMALLOC) && memalloc_skbs_available()) > + skb = ___alloc_skb(size, gfp_mask, fclone); > + > + return skb; > +} > +
I'd drop the memalloc_skbs_available() check, as that's already done by ___alloc_skb. > +static DEFINE_SPINLOCK(memalloc_lock); > +static int memalloc_socks; > +static unsigned long memalloc_reserve; Why is this a long? adjust_memalloc_reserve() takes an int. Is it needed at all, considering var_free_kbytes already exists? Greetings, Indan - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html