linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] kvfree_rcu() and _LOCK_NESTING/_PREEMPT_RT
@ 2020-09-18 19:48 Uladzislau Rezki (Sony)
  2020-09-18 19:48 ` [PATCH 1/4] rcu/tree: Add a work to allocate pages from regular context Uladzislau Rezki (Sony)
                   ` (5 more replies)
  0 siblings, 6 replies; 76+ messages in thread
From: Uladzislau Rezki (Sony) @ 2020-09-18 19:48 UTC (permalink / raw)
  To: LKML, RCU, linux-mm, Andrew Morton, Paul E . McKenney
  Cc: Peter Zijlstra, Michal Hocko, Vlastimil Babka, Thomas Gleixner,
	Theodore Y . Ts'o, Joel Fernandes, Sebastian Andrzej Siewior,
	Uladzislau Rezki, Oleksiy Avramchenko

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



^ permalink raw reply	[flat|nested] 76+ messages in thread