kvfree_rcu: Use __GFP_NOMEMALLOC for single-argument kvfree_rcu()
This commit applies the __GFP_NOMEMALLOC gfp flag to memory allocations carried out by the single-argument variant of kvfree_rcu(), thus avoiding this can-sleep code path from dipping into the emergency reserves. Acked-by: Michal Hocko <mhocko@suse.com> Suggested-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
@@ -3519,7 +3519,7 @@ add_ptr_to_bulk_krc_lock(struct kfree_rcu_cpu **krcp,
|
|||||||
if (!bnode && can_alloc) {
|
if (!bnode && can_alloc) {
|
||||||
krc_this_cpu_unlock(*krcp, *flags);
|
krc_this_cpu_unlock(*krcp, *flags);
|
||||||
bnode = (struct kvfree_rcu_bulk_data *)
|
bnode = (struct kvfree_rcu_bulk_data *)
|
||||||
__get_free_page(GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN);
|
__get_free_page(GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOMEMALLOC | __GFP_NOWARN);
|
||||||
*krcp = krc_this_cpu_lock(flags);
|
*krcp = krc_this_cpu_lock(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user