linux-mm.kvack.org archive mirror
 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>
Subject: [RFC 0/3] extend vmalloc support for constrained allocations
Date: Mon, 18 Oct 2021 13:47:09 +0200	[thread overview]
Message-ID: <20211018114712.9802-1-mhocko@kernel.org> (raw)

Hi,
based on a recent discussion with Dave and Neil [1] I have tried to
implement NOFS, NOIO, NOFAIL support for the vmalloc to make
life of kvmalloc users easier.

A requirement for NOFAIL support for kvmalloc was new to me but this
seems to be really needed by the xfs code.

NOFS/NOIO was a known and a long term problem which was hoped to be
handled by the scope API. Those scope should have been used at the
reclaim recursion boundaries both to document them and also to remove
the necessity of NOFS/NOIO constrains for all allocations within that
scope. Instead workarounds were developed to wrap a single allocation
instead (like ceph_kvmalloc).

First patch implements NOFS/NOIO support for vmalloc. The second one
adds NOFAIL support and the third one bundles all together into kvmalloc
and drops ceph_kvmalloc which can use kvmalloc directly now.

Please note that this is RFC and I haven't done any testing on this yet.
I hope I haven't missed anything in the vmalloc allocator. It would be
really great if Christoph and Uladzislau could have a look.

Thanks!

[1] http://lkml.kernel.org/r/163184741778.29351.16920832234899124642.stgit@noble.brown




             reply	other threads:[~2021-10-18 11:47 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 11:47 Michal Hocko [this message]
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:48   ` Michal Hocko
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   ` [PATCH] mm/vmalloc: be more explicit about supported gfp flags Michal Hocko
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=20211018114712.9802-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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).