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 from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html