Hello, folk! This is another iteration of fixing kvfree_rcu() issues related to CONFIG_PROVE_RAW_LOCK_NESTING and CONFIG_PREEMPT_RT configs. The first discussion is here https://lkml.org/lkml/2020/8/9/195. - As an outcome of it, there was a proposal from Peter, instead of using a speciall "lock-less" flag it is better to move lock-less access to the pcplist to the separate function. - To add a special worker thread that does prefetching of pages if a per-cpu page cache is depleted(what is absolutely normal). As usual, thank you for paying attention to it and your help! Uladzislau Rezki (Sony) (4): rcu/tree: Add a work to allocate pages from regular context mm: Add __rcu_alloc_page_lockless() func. rcu/tree: use __rcu_alloc_page_lockless() func. rcu/tree: Use schedule_delayed_work() instead of WQ_HIGHPRI queue include/linux/gfp.h | 1 + kernel/rcu/tree.c | 90 ++++++++++++++++++++++++--------------------- mm/page_alloc.c | 82 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 41 deletions(-) -- 2.20.1