On 2016/01/03 16:12, Al Viro wrote: > Those, AFAICS, are such callers with GFP_NOIO; however, there's a shitload > of GFP_NOFS ones. XFS uses memalloc_noio_save(), but a _lot_ of other > callers do not. For example, all call chains leading to ceph_kvmalloc() > pass GFP_NOFS and none of them is under memalloc_noio_save(). The same > goes for GFS2 __vmalloc() callers, etc. Again, quite a few of those probably > do not need GFP_NOFS at all, but those that do would appear to have > hard-to-trigger deadlocks. > > Why do we do that in callers, though? I.e. why not do something like this: This problem is not specific to vmalloc(). It is difficult for non-fs developers to determine whether they need to use GFP_NOFS than GFP_KERNEL in their code. Can't we annotate GFP_NOFS/GFP_NOIO sections like http://marc.info/?l=linux-mm&m=142797559822655 ? -- 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>