On Thu, Mar 17, 2016 at 01:37:06PM +0100, Roman Peniaev wrote: > > + freed = 0; > > + blocking_notifier_call_chain(&vmap_notify_list, 0, &freed); > > It seems to me that alloc_vmap_area() was designed not to sleep, > at least on GFP_NOWAIT path (__GFP_DIRECT_RECLAIM is not set). > > But blocking_notifier_call_chain() might sleep. Indeed, I had not anticipated anybody using GFP_ATOMIC or equivalently restrictive gfp_t for vmap and yes there are such callers. Would guarding the notifier with gfp & __GFP_DIRECT_RECLAIM and !(gfp & __GFP_NORETRY) == be sufficient? Is that enough for GFP_NOFS? -Chris -- Chris Wilson, Intel Open Source Technology Centre -- 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>