aboutsummaryrefslogtreecommitdiffstats
path: root/lib/test_vmalloc.c
diff options
context:
space:
mode:
authorUladzislau Rezki (Sony) <[email protected]>2020-05-25 21:47:52 +0000
committerPaul E. McKenney <[email protected]>2020-06-29 18:59:25 +0000
commit53c72b590b3a0afd6747d6f7957e6838003e90a4 (patch)
tree69d08c3d0302de8db65119df79246e94af25972c /lib/test_vmalloc.c
parentrcu/tree: Use static initializer for krc.lock (diff)
downloadkernel-53c72b590b3a0afd6747d6f7957e6838003e90a4.tar.gz
kernel-53c72b590b3a0afd6747d6f7957e6838003e90a4.zip
rcu/tree: cache specified number of objects
In order to reduce the dynamic need for pages in kfree_rcu(), pre-allocate a configurable number of pages per CPU and link them in a list. When kfree_rcu() reclaims objects, the object's container page is cached into a list instead of being released to the low-level page allocator. Such an approach provides O(1) access to free pages while also reducing the number of requests to the page allocator. It also makes the kfree_rcu() code to have free pages available during a low memory condition. A read-only sysfs parameter (rcu_min_cached_objs) reflects the minimum number of allowed cached pages per CPU. Signed-off-by: Uladzislau Rezki (Sony) <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
Diffstat (limited to 'lib/test_vmalloc.c')
0 files changed, 0 insertions, 0 deletions