Messages in this thread | | | From | "Uladzislau Rezki (Sony)" <> | Subject | [PATCH 0/4] kvfree_rcu() and _LOCK_NESTING/_PREEMPT_RT | Date | Fri, 18 Sep 2020 21:48:13 +0200 |
| |
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
| |