On Fri, Jun 22, 2012 at 11:54:51AM +0100, Mel Gorman wrote: > > This is mostly used by nic to refil their RX skb pool. You add the > > __GFP_MEMALLOC to the allocation to rise the change of a successfull refill > > for the swap case. > > A few drivers use build_skb() to create the skb. __netdev_alloc_skb() > > shouldn't be affected since the allocation happens with GFP_ATOMIC. Looking at > > TG3 it uses build_skb() and get_pages() / kmalloc(). Shouldn't this be some > > considered? > > > > While TG3 is not exactly as you describe after rebasing build_skb should > make a similar check to __alloc_skb. As it is always used for RX allocation > from the skbuff_head_cache cache the following should be suitable. Thanks. As Eric pointed out you end up in netdev_alloc_frag() which is using alloc_page(). This is also used by __netdev_alloc_skb(). Sebastian -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>