Re: __vmalloc() vs. GFP_NOIO/GFP_NOFS

From: Tetsuo Handa
Date: Mon Jan 04 2016 - 08:41:16 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/