Re: Raw spinlocks and memory allocation
From: Andrew Morton
Date: Fri Jul 31 2020 - 16:38:37 EST
On Thu, 30 Jul 2020 16:12:05 -0700 "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
> So, may we add a GFP_ flag that will cause kmalloc() and friends to return
> NULL when they would otherwise need to acquire their non-raw spinlock?
> This avoids adding any overhead to the slab-allocator fastpaths, but
> allows callback invocation to reduce cache misses without having to
> restructure some existing callers of call_rcu() and potential future
> callers of kfree_rcu().
We have eight free gfp_t bits so that isn't a problem.
Adding a test-n-branch to the kmalloc() fastpath may well be a concern.
Which of mm/sl?b.c are affected?
A doesnt-need-to-really-work protopatch would help us understand the
potential cost?