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?