On Thu, 07 Apr 2011 17:36:26 +0200 Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > Le jeudi 07 avril 2011 __ 23:27 +0800, Changli Gao a __crit : > > > azurlt, would you please test the patch attached? Thanks. > > > > Yes of course, I meant to reverse the patch > > (use kmalloc() under PAGE_SIZE, vmalloc() for 'big' allocs) > > > Dont fallback to vmalloc if kmalloc() fails. > > > if (size <= PAGE_SIZE) > return kmalloc(size, GFP_KERNEL); > else > return vmalloc(size); > It's somewhat unclear (to me) what caused this regression. Is it because the kernel is now doing large kmalloc()s for the fdtable, and this makes the page allocator go nuts trying to satisfy high-order page allocation requests? Is it because the kernel now will usually free the fdtable synchronously within the rcu callback, rather than deferring this to a workqueue? The latter seems unlikely, so I'm thinking this was a case of high-order-allocations-considered-harmful? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>