All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: <linux-mm@kvack.org>
Cc: Dave Chinner <david@fromorbit.com>, Neil Brown <neilb@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Hellwig <hch@infradead.org>,
	Uladzislau Rezki <urezki@gmail.com>,
	<linux-fsdevel@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Ilya Dryomov <idryomov@gmail.com>,
	Jeff Layton <jlayton@kernel.org>, Michal Hocko <mhocko@suse.com>
Subject: [PATCH] mm/vmalloc: be more explicit about supported gfp flags.
Date: Wed, 20 Oct 2021 10:25:45 +0200	[thread overview]
Message-ID: <20211020082545.4830-1-mhocko@kernel.org> (raw)
In-Reply-To: <20211018114712.9802-3-mhocko@kernel.org>

From: Michal Hocko <mhocko@suse.com>

The core of the vmalloc allocator __vmalloc_area_node doesn't say
anything about gfp mask argument. Not all gfp flags are supported
though. Be more explicit about constrains.

Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 mm/vmalloc.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index f7098e616883..f57c09e98977 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2979,8 +2979,16 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
  * @caller:		  caller's return address
  *
  * Allocate enough pages to cover @size from the page level
- * allocator with @gfp_mask flags.  Map them into contiguous
- * kernel virtual space, using a pagetable protection of @prot.
+ * allocator with @gfp_mask flags. Please note that the full set of gfp
+ * flags are not supported. GFP_KERNEL would be a preferred allocation mode
+ * but GFP_NOFS and GFP_NOIO are supported as well. Zone modifiers are not
+ * supported. From the reclaim modifiers__GFP_DIRECT_RECLAIM is required (aka
+ * GFP_NOWAIT is not supported) and only __GFP_NOFAIL is supported (aka
+ * __GFP_NORETRY and __GFP_RETRY_MAYFAIL are not supported).
+ * __GFP_NOWARN can be used to suppress error messages about failures.
+ * 
+ * Map them into contiguous kernel virtual space, using a pagetable
+ * protection of @prot.
  *
  * Return: the address of the area or %NULL on failure
  */
-- 
2.30.2


  parent reply	other threads:[~2021-10-20  8:26 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 11:47 [RFC 0/3] extend vmalloc support for constrained allocations Michal Hocko
2021-10-18 11:47 ` [RFC 1/3] mm/vmalloc: alloc GFP_NO{FS,IO} for vmalloc Michal Hocko
2021-10-19  0:44   ` NeilBrown
2021-10-19  6:59     ` Michal Hocko
2021-10-18 11:47 ` [RFC 2/3] mm/vmalloc: add support for __GFP_NOFAIL Michal Hocko
2021-10-18 16:24   ` kernel test robot
2021-10-18 16:24     ` kernel test robot
2021-10-18 16:48   ` Michal Hocko
2021-10-18 18:15   ` kernel test robot
2021-10-18 18:15     ` kernel test robot
2021-10-19 11:06   ` Uladzislau Rezki
2021-10-19 11:52     ` Michal Hocko
2021-10-19 19:46       ` Uladzislau Rezki
2021-10-20  8:25         ` Michal Hocko
2021-10-20  9:18           ` Michal Hocko
2021-10-20 13:54           ` Uladzislau Rezki
2021-10-20 14:06             ` Michal Hocko
2021-10-20 14:29               ` Uladzislau Rezki
2021-10-20 14:53                 ` Michal Hocko
2021-10-20 15:00                   ` Uladzislau Rezki
2021-10-20 19:24                     ` Uladzislau Rezki
2021-10-21  8:56                       ` Michal Hocko
2021-10-21 10:13                       ` NeilBrown
2021-10-21 10:27                         ` Michal Hocko
2021-10-21 10:40                           ` Uladzislau Rezki
2021-10-21 22:49                             ` NeilBrown
2021-10-22  8:18                               ` Michal Hocko
2021-10-25  9:48                               ` Uladzislau Rezki
2021-10-25 11:20                                 ` Michal Hocko
2021-10-25 14:30                                   ` Uladzislau Rezki
2021-10-25 14:56                                     ` Michal Hocko
2021-10-25 23:50                                 ` NeilBrown
2021-10-26  7:16                                   ` Michal Hocko
2021-10-26 10:24                                     ` NeilBrown
2021-10-26 14:25                                       ` Uladzislau Rezki
2021-10-26 14:43                                         ` Michal Hocko
2021-10-26 15:40                                           ` Uladzislau Rezki
2021-10-20  8:25   ` Michal Hocko [this message]
2021-10-18 11:47 ` [RFC 3/3] mm: allow !GFP_KERNEL allocations for kvmalloc Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211020082545.4830-1-mhocko@kernel.org \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=idryomov@gmail.com \
    --cc=jlayton@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=neilb@suse.de \
    --cc=urezki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.