mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-20 09:31:09 +00:00
2ca836b1da
This patch splits the lists of objects so as to avoid sending any through RCU that have already been queued for more than one grace period. These long-term-resident objects are immediately freed. The remaining short-term-resident objects are queued for later freeing using queue_rcu_work(). This change avoids delaying workqueue handlers with synchronize_rcu() invocations. Yes, workqueue handlers are designed to handle blocking, but avoiding blocking when unnecessary improves performance during low-memory situations. Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Kconfig.debug | ||
Makefile | ||
rcu.h | ||
rcu_segcblist.c | ||
rcu_segcblist.h | ||
rcuscale.c | ||
rcutorture.c | ||
refscale.c | ||
srcutiny.c | ||
srcutree.c | ||
sync.c | ||
tasks.h | ||
tiny.c | ||
tree.c | ||
tree.h | ||
tree_exp.h | ||
tree_nocb.h | ||
tree_plugin.h | ||
tree_stall.h | ||
update.c |