On Sat, 2006-08-12 at 19:31 +0200, Indan Zupancic wrote: > 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.
Right, thanks. Hmm, its the last occurence of that function, even better. > > +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. Euhm, right :-) long comes naturaly when I think about quantities op pages. The adjust_memalloc_reserve() argument is an increment, a delta; perhaps I should change that to long. > Is it needed at all, considering var_free_kbytes already exists? Having them separate would allow ajust_memalloc_reserve() to be used by other callers too (would need some extra locking). - 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