kvfree_rcu: Replace __GFP_RETRY_MAYFAIL by __GFP_NORETRY
authorUladzislau Rezki (Sony) <urezki@gmail.com>
Fri, 29 Jan 2021 16:16:03 +0000 (17:16 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 8 Mar 2021 22:18:07 +0000 (14:18 -0800)
commit3e7ce7a187fc6aaa9fda1310a2b8da8770342ff7
treecbb3a8720766a16730fdfbe15629281f5738f7cc
parent7ffc9ec8eac196cbd85669a4d7920cd80f186a51
kvfree_rcu: Replace __GFP_RETRY_MAYFAIL by __GFP_NORETRY

__GFP_RETRY_MAYFAIL can spend quite a bit of time reclaiming, and this
can be wasted effort given that there is a fallback code path in case
memory allocation fails.

__GFP_NORETRY does perform some light-weight reclaim, but it will fail
under OOM conditions, allowing the fallback to be taken as an alternative
to hard-OOMing the system.

There is a four-way tradeoff that must be balanced:
    1) Minimize use of the fallback path;
    2) Avoid full-up OOM;
    3) Do a light-wait allocation request;
    4) Avoid dipping into the emergency reserves.

Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c