Can you check if the brute force patch below helps? If it does I still need to refine it a bit, but it could be that we are doing an allocation under an xfs lock that could recurse back into the filesystem. We have a per-process flag to disable that for normal kmalloc allocation, but we lost it for vmalloc in the commit you bisected the regression to. Index: xfs/fs/xfs/linux-2.6/kmem.h =================================================================== --- xfs.orig/fs/xfs/linux-2.6/kmem.h 2011-03-29 21:16:58.039224236 +0200 +++ xfs/fs/xfs/linux-2.6/kmem.h 2011-03-29 21:17:08.368223598 +0200 @@ -63,7 +63,7 @@ static inline void *kmem_zalloc_large(si { void *ptr; - ptr = vmalloc(size); + ptr = __vmalloc(size, GFP_NOFS | __GFP_HIGHMEM, PAGE_KERNEL); if (ptr) memset(ptr, 0, size); return ptr; -- 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>